Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.transcribe.model.StartTranscriptionJobRequest Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Transcribe module holds the client classes that are used for
communicating with Transcribe.
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.transcribe.model;
import java.beans.Transient;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public final class StartTranscriptionJobRequest extends TranscribeRequest implements
ToCopyableBuilder {
private static final SdkField TRANSCRIPTION_JOB_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("TranscriptionJobName").getter(getter(StartTranscriptionJobRequest::transcriptionJobName))
.setter(setter(Builder::transcriptionJobName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TranscriptionJobName").build())
.build();
private static final SdkField LANGUAGE_CODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("LanguageCode").getter(getter(StartTranscriptionJobRequest::languageCodeAsString))
.setter(setter(Builder::languageCode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LanguageCode").build()).build();
private static final SdkField MEDIA_SAMPLE_RATE_HERTZ_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("MediaSampleRateHertz").getter(getter(StartTranscriptionJobRequest::mediaSampleRateHertz))
.setter(setter(Builder::mediaSampleRateHertz))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MediaSampleRateHertz").build())
.build();
private static final SdkField MEDIA_FORMAT_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("MediaFormat").getter(getter(StartTranscriptionJobRequest::mediaFormatAsString))
.setter(setter(Builder::mediaFormat))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MediaFormat").build()).build();
private static final SdkField MEDIA_FIELD = SdkField. builder(MarshallingType.SDK_POJO).memberName("Media")
.getter(getter(StartTranscriptionJobRequest::media)).setter(setter(Builder::media)).constructor(Media::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Media").build()).build();
private static final SdkField OUTPUT_BUCKET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OutputBucketName").getter(getter(StartTranscriptionJobRequest::outputBucketName))
.setter(setter(Builder::outputBucketName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OutputBucketName").build()).build();
private static final SdkField OUTPUT_KEY_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OutputKey").getter(getter(StartTranscriptionJobRequest::outputKey)).setter(setter(Builder::outputKey))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OutputKey").build()).build();
private static final SdkField OUTPUT_ENCRYPTION_KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OutputEncryptionKMSKeyId").getter(getter(StartTranscriptionJobRequest::outputEncryptionKMSKeyId))
.setter(setter(Builder::outputEncryptionKMSKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OutputEncryptionKMSKeyId").build())
.build();
private static final SdkField> KMS_ENCRYPTION_CONTEXT_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("KMSEncryptionContext")
.getter(getter(StartTranscriptionJobRequest::kmsEncryptionContext))
.setter(setter(Builder::kmsEncryptionContext))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KMSEncryptionContext").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField SETTINGS_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
.memberName("Settings").getter(getter(StartTranscriptionJobRequest::settings)).setter(setter(Builder::settings))
.constructor(Settings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Settings").build()).build();
private static final SdkField MODEL_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ModelSettings")
.getter(getter(StartTranscriptionJobRequest::modelSettings)).setter(setter(Builder::modelSettings))
.constructor(ModelSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ModelSettings").build()).build();
private static final SdkField JOB_EXECUTION_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("JobExecutionSettings")
.getter(getter(StartTranscriptionJobRequest::jobExecutionSettings)).setter(setter(Builder::jobExecutionSettings))
.constructor(JobExecutionSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("JobExecutionSettings").build())
.build();
private static final SdkField CONTENT_REDACTION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ContentRedaction")
.getter(getter(StartTranscriptionJobRequest::contentRedaction)).setter(setter(Builder::contentRedaction))
.constructor(ContentRedaction::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ContentRedaction").build()).build();
private static final SdkField IDENTIFY_LANGUAGE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("IdentifyLanguage").getter(getter(StartTranscriptionJobRequest::identifyLanguage))
.setter(setter(Builder::identifyLanguage))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IdentifyLanguage").build()).build();
private static final SdkField IDENTIFY_MULTIPLE_LANGUAGES_FIELD = SdkField
. builder(MarshallingType.BOOLEAN).memberName("IdentifyMultipleLanguages")
.getter(getter(StartTranscriptionJobRequest::identifyMultipleLanguages))
.setter(setter(Builder::identifyMultipleLanguages))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IdentifyMultipleLanguages").build())
.build();
private static final SdkField> LANGUAGE_OPTIONS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("LanguageOptions")
.getter(getter(StartTranscriptionJobRequest::languageOptionsAsStrings))
.setter(setter(Builder::languageOptionsWithStrings))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LanguageOptions").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField SUBTITLES_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
.memberName("Subtitles").getter(getter(StartTranscriptionJobRequest::subtitles)).setter(setter(Builder::subtitles))
.constructor(Subtitles::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Subtitles").build()).build();
private static final SdkField> TAGS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("Tags")
.getter(getter(StartTranscriptionJobRequest::tags))
.setter(setter(Builder::tags))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Tags").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(Tag::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField> LANGUAGE_ID_SETTINGS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("LanguageIdSettings")
.getter(getter(StartTranscriptionJobRequest::languageIdSettingsAsStrings))
.setter(setter(Builder::languageIdSettingsWithStrings))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LanguageIdSettings").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(LanguageIdSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(TRANSCRIPTION_JOB_NAME_FIELD,
LANGUAGE_CODE_FIELD, MEDIA_SAMPLE_RATE_HERTZ_FIELD, MEDIA_FORMAT_FIELD, MEDIA_FIELD, OUTPUT_BUCKET_NAME_FIELD,
OUTPUT_KEY_FIELD, OUTPUT_ENCRYPTION_KMS_KEY_ID_FIELD, KMS_ENCRYPTION_CONTEXT_FIELD, SETTINGS_FIELD,
MODEL_SETTINGS_FIELD, JOB_EXECUTION_SETTINGS_FIELD, CONTENT_REDACTION_FIELD, IDENTIFY_LANGUAGE_FIELD,
IDENTIFY_MULTIPLE_LANGUAGES_FIELD, LANGUAGE_OPTIONS_FIELD, SUBTITLES_FIELD, TAGS_FIELD, LANGUAGE_ID_SETTINGS_FIELD));
private final String transcriptionJobName;
private final String languageCode;
private final Integer mediaSampleRateHertz;
private final String mediaFormat;
private final Media media;
private final String outputBucketName;
private final String outputKey;
private final String outputEncryptionKMSKeyId;
private final Map kmsEncryptionContext;
private final Settings settings;
private final ModelSettings modelSettings;
private final JobExecutionSettings jobExecutionSettings;
private final ContentRedaction contentRedaction;
private final Boolean identifyLanguage;
private final Boolean identifyMultipleLanguages;
private final List languageOptions;
private final Subtitles subtitles;
private final List tags;
private final Map languageIdSettings;
private StartTranscriptionJobRequest(BuilderImpl builder) {
super(builder);
this.transcriptionJobName = builder.transcriptionJobName;
this.languageCode = builder.languageCode;
this.mediaSampleRateHertz = builder.mediaSampleRateHertz;
this.mediaFormat = builder.mediaFormat;
this.media = builder.media;
this.outputBucketName = builder.outputBucketName;
this.outputKey = builder.outputKey;
this.outputEncryptionKMSKeyId = builder.outputEncryptionKMSKeyId;
this.kmsEncryptionContext = builder.kmsEncryptionContext;
this.settings = builder.settings;
this.modelSettings = builder.modelSettings;
this.jobExecutionSettings = builder.jobExecutionSettings;
this.contentRedaction = builder.contentRedaction;
this.identifyLanguage = builder.identifyLanguage;
this.identifyMultipleLanguages = builder.identifyMultipleLanguages;
this.languageOptions = builder.languageOptions;
this.subtitles = builder.subtitles;
this.tags = builder.tags;
this.languageIdSettings = builder.languageIdSettings;
}
/**
*
* A unique name, chosen by you, for your transcription job. The name you specify is also used as the default name
* of your transcription output file. If you want to specify a different name for your transcription output, use the
* OutputKey
parameter.
*
*
* This name is case sensitive, cannot contain spaces, and must be unique within an Amazon Web Services account. If
* you try to create a new job with the same name as an existing job, you get a ConflictException
* error.
*
*
* @return A unique name, chosen by you, for your transcription job. The name you specify is also used as the
* default name of your transcription output file. If you want to specify a different name for your
* transcription output, use the OutputKey
parameter.
*
* This name is case sensitive, cannot contain spaces, and must be unique within an Amazon Web Services
* account. If you try to create a new job with the same name as an existing job, you get a
* ConflictException
error.
*/
public final String transcriptionJobName() {
return transcriptionJobName;
}
/**
*
* The language code that represents the language spoken in the input media file.
*
*
* If you're unsure of the language spoken in your media file, consider using IdentifyLanguage
or
* IdentifyMultipleLanguages
to enable automatic language identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters, your
* transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported languages table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #languageCode} will
* return {@link LanguageCode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #languageCodeAsString}.
*
*
* @return The language code that represents the language spoken in the input media file.
*
* If you're unsure of the language spoken in your media file, consider using IdentifyLanguage
* or IdentifyMultipleLanguages
to enable automatic language identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported languages
* table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
* @see LanguageCode
*/
public final LanguageCode languageCode() {
return LanguageCode.fromValue(languageCode);
}
/**
*
* The language code that represents the language spoken in the input media file.
*
*
* If you're unsure of the language spoken in your media file, consider using IdentifyLanguage
or
* IdentifyMultipleLanguages
to enable automatic language identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters, your
* transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported languages table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #languageCode} will
* return {@link LanguageCode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #languageCodeAsString}.
*
*
* @return The language code that represents the language spoken in the input media file.
*
* If you're unsure of the language spoken in your media file, consider using IdentifyLanguage
* or IdentifyMultipleLanguages
to enable automatic language identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported languages
* table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
* @see LanguageCode
*/
public final String languageCodeAsString() {
return languageCode;
}
/**
*
* The sample rate, in Hertz, of the audio track in your input media file.
*
*
* If you don't specify the media sample rate, Amazon Transcribe determines it for you. If you specify the sample
* rate, it must match the rate detected by Amazon Transcribe; if there's a mismatch between the value you specify
* and the value detected, your job fails. Therefore, in most cases, it's advised to omit
* MediaSampleRateHertz
and let Amazon Transcribe determine the sample rate.
*
*
* @return The sample rate, in Hertz, of the audio track in your input media file.
*
* If you don't specify the media sample rate, Amazon Transcribe determines it for you. If you specify the
* sample rate, it must match the rate detected by Amazon Transcribe; if there's a mismatch between the
* value you specify and the value detected, your job fails. Therefore, in most cases, it's advised to omit
* MediaSampleRateHertz
and let Amazon Transcribe determine the sample rate.
*/
public final Integer mediaSampleRateHertz() {
return mediaSampleRateHertz;
}
/**
*
* Specify the format of your input media file.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #mediaFormat} will
* return {@link MediaFormat#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #mediaFormatAsString}.
*
*
* @return Specify the format of your input media file.
* @see MediaFormat
*/
public final MediaFormat mediaFormat() {
return MediaFormat.fromValue(mediaFormat);
}
/**
*
* Specify the format of your input media file.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #mediaFormat} will
* return {@link MediaFormat#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #mediaFormatAsString}.
*
*
* @return Specify the format of your input media file.
* @see MediaFormat
*/
public final String mediaFormatAsString() {
return mediaFormat;
}
/**
*
* Describes the Amazon S3 location of the media file you want to use in your request.
*
*
* @return Describes the Amazon S3 location of the media file you want to use in your request.
*/
public final Media media() {
return media;
}
/**
*
* The name of the Amazon S3 bucket where you want your transcription output stored. Do not include the
* S3://
prefix of the specified bucket.
*
*
* If you want your output to go to a sub-folder of this bucket, specify it using the OutputKey
* parameter; OutputBucketName
only accepts the name of a bucket.
*
*
* For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET
, set
* OutputBucketName
to DOC-EXAMPLE-BUCKET
. However, if you want your output stored in
* S3://DOC-EXAMPLE-BUCKET/test-files/
, set OutputBucketName
to
* DOC-EXAMPLE-BUCKET
and OutputKey
to test-files/
.
*
*
* Note that Amazon Transcribe must have permission to use the specified location. You can change Amazon S3
* permissions using the Amazon Web Services Management Console . See
* also Permissions Required for IAM User Roles .
*
*
* If you don't specify OutputBucketName
, your transcript is placed in a service-managed Amazon S3
* bucket and you are provided with a URI to access your transcript.
*
*
* @return The name of the Amazon S3 bucket where you want your transcription output stored. Do not include the
* S3://
prefix of the specified bucket.
*
* If you want your output to go to a sub-folder of this bucket, specify it using the OutputKey
* parameter; OutputBucketName
only accepts the name of a bucket.
*
*
* For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET
, set
* OutputBucketName
to DOC-EXAMPLE-BUCKET
. However, if you want your output stored
* in S3://DOC-EXAMPLE-BUCKET/test-files/
, set OutputBucketName
to
* DOC-EXAMPLE-BUCKET
and OutputKey
to test-files/
.
*
*
* Note that Amazon Transcribe must have permission to use the specified location. You can change Amazon S3
* permissions using the Amazon Web Services Management
* Console . See also Permissions Required for IAM User Roles .
*
*
* If you don't specify OutputBucketName
, your transcript is placed in a service-managed Amazon
* S3 bucket and you are provided with a URI to access your transcript.
*/
public final String outputBucketName() {
return outputBucketName;
}
/**
*
* Use in combination with OutputBucketName
to specify the output location of your transcript and,
* optionally, a unique name for your output file. The default name for your transcription output is the same as the
* name you specified for your transcription job (TranscriptionJobName
).
*
*
* Here are some examples of how you can use OutputKey
:
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and 'my-transcript.json' as the
* OutputKey
, your transcription output path is s3://DOC-EXAMPLE-BUCKET/my-transcript.json
* .
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET' as the
* OutputBucketName
, and 'my-transcript' as the OutputKey
, your transcription output path
* is s3://DOC-EXAMPLE-BUCKET/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and 'test-files/my-transcript.json' as
* the OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET' as the
* OutputBucketName
, and 'test-files/my-transcript' as the OutputKey
, your transcription
* output path is s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify the name of an Amazon S3 bucket sub-folder that doesn't exist, one is created for you.
*
*
* @return Use in combination with OutputBucketName
to specify the output location of your transcript
* and, optionally, a unique name for your output file. The default name for your transcription output is
* the same as the name you specified for your transcription job (TranscriptionJobName
).
*
* Here are some examples of how you can use OutputKey
:
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and 'my-transcript.json' as the
* OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET' as
* the OutputBucketName
, and 'my-transcript' as the OutputKey
, your transcription
* output path is s3://DOC-EXAMPLE-BUCKET/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and
* 'test-files/my-transcript.json' as the OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET' as
* the OutputBucketName
, and 'test-files/my-transcript' as the OutputKey
, your
* transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify the name of an Amazon S3 bucket sub-folder that doesn't exist, one is created for you.
*/
public final String outputKey() {
return outputKey;
}
/**
*
* The KMS key you want to use to encrypt your transcription output.
*
*
* If using a key located in the current Amazon Web Services account, you can specify your KMS key in one of
* four ways:
*
*
*
*
* Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use an alias for the KMS key ID. For example, alias/ExampleAlias
.
*
*
*
*
* Use the Amazon Resource Name (ARN) for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias
.
*
*
*
*
* If using a key located in a different Amazon Web Services account than the current Amazon Web Services
* account, you can specify your KMS key in one of two ways:
*
*
*
*
* Use the ARN for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias
.
*
*
*
*
* If you don't specify an encryption key, your output 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 using the
* OutputLocation
parameter.
*
*
* Note that the user making the request must have permission to use the specified KMS key.
*
*
* @return The KMS key you want to use to encrypt your transcription output.
*
* If using a key located in the current Amazon Web Services account, you can specify your KMS key in
* one of four ways:
*
*
*
*
* Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use an alias for the KMS key ID. For example, alias/ExampleAlias
.
*
*
*
*
* Use the Amazon Resource Name (ARN) for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example,
* arn:aws:kms:region:account-ID:alias/ExampleAlias
.
*
*
*
*
* If using a key located in a different Amazon Web Services account than the current Amazon Web
* Services account, you can specify your KMS key in one of two ways:
*
*
*
*
* Use the ARN for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example,
* arn:aws:kms:region:account-ID:alias/ExampleAlias
.
*
*
*
*
* If you don't specify an encryption key, your output 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 using the
* OutputLocation
parameter.
*
*
* Note that the user making the request must have permission to use the specified KMS key.
*/
public final String outputEncryptionKMSKeyId() {
return outputEncryptionKMSKeyId;
}
/**
* For responses, this returns true if the service returned a value for the KMSEncryptionContext property. This DOES
* NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasKmsEncryptionContext() {
return kmsEncryptionContext != null && !(kmsEncryptionContext instanceof SdkAutoConstructMap);
}
/**
*
* A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added layer
* of security for your data. For more information, see KMS encryption
* context and Asymmetric
* keys in KMS .
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasKmsEncryptionContext} method.
*
*
* @return A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added
* layer of security for your data. For more information, see KMS encryption
* context and Asymmetric keys in
* KMS .
*/
public final Map kmsEncryptionContext() {
return kmsEncryptionContext;
}
/**
*
* Specify additional optional settings in your request, including channel identification, alternative
* transcriptions, speaker labeling; allows you to apply custom vocabularies and vocabulary filters.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but do
* not want to use automatic language identification, use Settings
with the
* VocabularyName
or VocabularyFilterName
(or both) sub-parameter.
*
*
* If you're using automatic language identification with your request and want to include a custom language model,
* a custom vocabulary, or a custom vocabulary filter, use instead the
*
parameter with the LanguageModelName
, VocabularyName
or
* VocabularyFilterName
sub-parameters.
*
*
* @return Specify additional optional settings in your request, including channel identification, alternative
* transcriptions, speaker labeling; allows you to apply custom vocabularies and vocabulary filters.
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use Settings
with the
* VocabularyName
or VocabularyFilterName
(or both) sub-parameter.
*
*
* If you're using automatic language identification with your request and want to include a custom language
* model, a custom vocabulary, or a custom vocabulary filter, use instead the
*
parameter with the LanguageModelName
, VocabularyName
or
* VocabularyFilterName
sub-parameters.
*/
public final Settings settings() {
return settings;
}
/**
*
* Specify the custom language model you want to include with your transcription job. If you include
* ModelSettings
in your request, you must include the LanguageModelName
sub-parameter.
*
*
* For more information, see Custom language models .
*
*
* @return Specify the custom language model you want to include with your transcription job. If you include
* ModelSettings
in your request, you must include the LanguageModelName
* sub-parameter.
*
* For more information, see Custom language
* models .
*/
public final ModelSettings modelSettings() {
return modelSettings;
}
/**
*
* Allows you to control how your transcription job is processed. Currently, the only
* JobExecutionSettings
modification you can choose is enabling job queueing using the
* AllowDeferredExecution
sub-parameter.
*
*
* If you include JobExecutionSettings
in your request, you must also include the sub-parameters:
* AllowDeferredExecution
and DataAccessRoleArn
.
*
*
* @return Allows you to control how your transcription job is processed. Currently, the only
* JobExecutionSettings
modification you can choose is enabling job queueing using the
* AllowDeferredExecution
sub-parameter.
*
* If you include JobExecutionSettings
in your request, you must also include the
* sub-parameters: AllowDeferredExecution
and DataAccessRoleArn
.
*/
public final JobExecutionSettings jobExecutionSettings() {
return jobExecutionSettings;
}
/**
*
* Allows you to redact or flag specified personally identifiable information (PII) in your transcript. If you use
* ContentRedaction
, you must also include the sub-parameters: PiiEntityTypes
,
* RedactionOutput
, and RedactionType
.
*
*
* @return Allows you to redact or flag specified personally identifiable information (PII) in your transcript. If
* you use ContentRedaction
, you must also include the sub-parameters:
* PiiEntityTypes
, RedactionOutput
, and RedactionType
.
*/
public final ContentRedaction contentRedaction() {
return contentRedaction;
}
/**
*
* Enables automatic language identification in your transcription job request.
*
*
* If you include IdentifyLanguage
, you can optionally include a list of language codes, using
* LanguageOptions
, that you think may be present in your media file. Including language options can
* improve transcription accuracy.
*
*
* If you want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter to your
* automatic language identification request, include LanguageIdSettings
with the relevant
* sub-parameters (VocabularyName
, LanguageModelName
, and
* VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters, your
* transcription job fails.
*
*
* @return Enables automatic language identification in your transcription job request.
*
* If you include IdentifyLanguage
, you can optionally include a list of language codes, using
* LanguageOptions
, that you think may be present in your media file. Including language
* options can improve transcription accuracy.
*
*
* If you want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter to your
* automatic language identification request, include LanguageIdSettings
with the relevant
* sub-parameters (VocabularyName
, LanguageModelName
, and
* VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*/
public final Boolean identifyLanguage() {
return identifyLanguage;
}
/**
*
* Enables automatic multi-language identification in your transcription job request. Use this parameter if your
* media file contains more than one language.
*
*
* If you include IdentifyMultipleLanguages
, you can optionally include a list of language codes, using
* LanguageOptions
, that you think may be present in your media file. Including language options can
* improve transcription accuracy.
*
*
* If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic language identification
* request, include LanguageIdSettings
with the relevant sub-parameters (VocabularyName
* and VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters, your
* transcription job fails.
*
*
* @return Enables automatic multi-language identification in your transcription job request. Use this parameter if
* your media file contains more than one language.
*
* If you include IdentifyMultipleLanguages
, you can optionally include a list of language
* codes, using LanguageOptions
, that you think may be present in your media file. Including
* language options can improve transcription accuracy.
*
*
* If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic language
* identification request, include LanguageIdSettings
with the relevant sub-parameters (
* VocabularyName
and VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*/
public final Boolean identifyMultipleLanguages() {
return identifyMultipleLanguages;
}
/**
*
* You can specify two or more language codes that represent the languages you think may be present in your media;
* including more than five is not recommended. If you're unsure what languages are present, do not include this
* parameter.
*
*
* If you include LanguageOptions
in your request, you must also include IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasLanguageOptions} method.
*
*
* @return You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. If you're unsure what languages are present, do not
* include this parameter.
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*/
public final List languageOptions() {
return LanguageOptionsCopier.copyStringToEnum(languageOptions);
}
/**
* For responses, this returns true if the service returned a value for the LanguageOptions property. This DOES NOT
* check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasLanguageOptions() {
return languageOptions != null && !(languageOptions instanceof SdkAutoConstructList);
}
/**
*
* You can specify two or more language codes that represent the languages you think may be present in your media;
* including more than five is not recommended. If you're unsure what languages are present, do not include this
* parameter.
*
*
* If you include LanguageOptions
in your request, you must also include IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasLanguageOptions} method.
*
*
* @return You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. If you're unsure what languages are present, do not
* include this parameter.
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*/
public final List languageOptionsAsStrings() {
return languageOptions;
}
/**
*
* Produces subtitle files for your input media. You can specify WebVTT (*.vtt) and SubRip (*.srt) formats.
*
*
* @return Produces subtitle files for your input media. You can specify WebVTT (*.vtt) and SubRip (*.srt) formats.
*/
public final Subtitles subtitles() {
return subtitles;
}
/**
* For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that
* the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is useful
* because the SDK will never return a null collection or map, but you may need to differentiate between the service
* returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true
* if a value for the property was specified in the request builder, and false if a value was not specified.
*/
public final boolean hasTags() {
return tags != null && !(tags instanceof SdkAutoConstructList);
}
/**
*
* Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the time you
* start this new job.
*
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasTags} method.
*
*
* @return Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the
* time you start this new job.
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
*/
public final List tags() {
return tags;
}
/**
*
* If using automatic language identification (IdentifyLanguage
) in your request and you want to apply
* a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
*
* You can specify two or more language codes that represent the languages you think may be present in your media;
* including more than five is not recommended. Each language code you include can have an associated custom
* language model, custom vocabulary, and custom vocabulary filter. The languages you specify must match the
* languages of the specified custom language models, custom vocabularies, and custom vocabulary filters.
*
*
* To include language options using IdentifyLanguage
without including a custom language model,
* a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
instead of
* LanguageIdSettings
. Including language options can improve the accuracy of automatic language
* identification.
*
*
* If you want to include a custom language model with your request but do not want to use automatic language
* identification, use instead the
parameter with the LanguageModelName
sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but do
* not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasLanguageIdSettings} method.
*
*
* @return If using automatic language identification (IdentifyLanguage
) in your request and you want
* to apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. Each language code you include can have an associated
* custom language model, custom vocabulary, and custom vocabulary filter. The languages you specify must
* match the languages of the specified custom language models, custom vocabularies, and custom vocabulary
* filters.
*
*
* To include language options using IdentifyLanguage
without including a custom
* language model, a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
* instead of LanguageIdSettings
. Including language options can improve the accuracy of
* automatic language identification.
*
*
* If you want to include a custom language model with your request but do not want to use automatic
* language identification, use instead the
parameter with the LanguageModelName
* sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
*/
public final Map languageIdSettings() {
return LanguageIdSettingsMapCopier.copyStringToEnum(languageIdSettings);
}
/**
* For responses, this returns true if the service returned a value for the LanguageIdSettings property. This DOES
* NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasLanguageIdSettings() {
return languageIdSettings != null && !(languageIdSettings instanceof SdkAutoConstructMap);
}
/**
*
* If using automatic language identification (IdentifyLanguage
) in your request and you want to apply
* a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
*
* You can specify two or more language codes that represent the languages you think may be present in your media;
* including more than five is not recommended. Each language code you include can have an associated custom
* language model, custom vocabulary, and custom vocabulary filter. The languages you specify must match the
* languages of the specified custom language models, custom vocabularies, and custom vocabulary filters.
*
*
* To include language options using IdentifyLanguage
without including a custom language model,
* a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
instead of
* LanguageIdSettings
. Including language options can improve the accuracy of automatic language
* identification.
*
*
* If you want to include a custom language model with your request but do not want to use automatic language
* identification, use instead the
parameter with the LanguageModelName
sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but do
* not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasLanguageIdSettings} method.
*
*
* @return If using automatic language identification (IdentifyLanguage
) in your request and you want
* to apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. Each language code you include can have an associated
* custom language model, custom vocabulary, and custom vocabulary filter. The languages you specify must
* match the languages of the specified custom language models, custom vocabularies, and custom vocabulary
* filters.
*
*
* To include language options using IdentifyLanguage
without including a custom
* language model, a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
* instead of LanguageIdSettings
. Including language options can improve the accuracy of
* automatic language identification.
*
*
* If you want to include a custom language model with your request but do not want to use automatic
* language identification, use instead the
parameter with the LanguageModelName
* sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
*/
public final Map languageIdSettingsAsStrings() {
return languageIdSettings;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(transcriptionJobName());
hashCode = 31 * hashCode + Objects.hashCode(languageCodeAsString());
hashCode = 31 * hashCode + Objects.hashCode(mediaSampleRateHertz());
hashCode = 31 * hashCode + Objects.hashCode(mediaFormatAsString());
hashCode = 31 * hashCode + Objects.hashCode(media());
hashCode = 31 * hashCode + Objects.hashCode(outputBucketName());
hashCode = 31 * hashCode + Objects.hashCode(outputKey());
hashCode = 31 * hashCode + Objects.hashCode(outputEncryptionKMSKeyId());
hashCode = 31 * hashCode + Objects.hashCode(hasKmsEncryptionContext() ? kmsEncryptionContext() : null);
hashCode = 31 * hashCode + Objects.hashCode(settings());
hashCode = 31 * hashCode + Objects.hashCode(modelSettings());
hashCode = 31 * hashCode + Objects.hashCode(jobExecutionSettings());
hashCode = 31 * hashCode + Objects.hashCode(contentRedaction());
hashCode = 31 * hashCode + Objects.hashCode(identifyLanguage());
hashCode = 31 * hashCode + Objects.hashCode(identifyMultipleLanguages());
hashCode = 31 * hashCode + Objects.hashCode(hasLanguageOptions() ? languageOptionsAsStrings() : null);
hashCode = 31 * hashCode + Objects.hashCode(subtitles());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasLanguageIdSettings() ? languageIdSettingsAsStrings() : null);
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof StartTranscriptionJobRequest)) {
return false;
}
StartTranscriptionJobRequest other = (StartTranscriptionJobRequest) obj;
return Objects.equals(transcriptionJobName(), other.transcriptionJobName())
&& Objects.equals(languageCodeAsString(), other.languageCodeAsString())
&& Objects.equals(mediaSampleRateHertz(), other.mediaSampleRateHertz())
&& Objects.equals(mediaFormatAsString(), other.mediaFormatAsString()) && Objects.equals(media(), other.media())
&& Objects.equals(outputBucketName(), other.outputBucketName()) && Objects.equals(outputKey(), other.outputKey())
&& Objects.equals(outputEncryptionKMSKeyId(), other.outputEncryptionKMSKeyId())
&& hasKmsEncryptionContext() == other.hasKmsEncryptionContext()
&& Objects.equals(kmsEncryptionContext(), other.kmsEncryptionContext())
&& Objects.equals(settings(), other.settings()) && Objects.equals(modelSettings(), other.modelSettings())
&& Objects.equals(jobExecutionSettings(), other.jobExecutionSettings())
&& Objects.equals(contentRedaction(), other.contentRedaction())
&& Objects.equals(identifyLanguage(), other.identifyLanguage())
&& Objects.equals(identifyMultipleLanguages(), other.identifyMultipleLanguages())
&& hasLanguageOptions() == other.hasLanguageOptions()
&& Objects.equals(languageOptionsAsStrings(), other.languageOptionsAsStrings())
&& Objects.equals(subtitles(), other.subtitles()) && hasTags() == other.hasTags()
&& Objects.equals(tags(), other.tags()) && hasLanguageIdSettings() == other.hasLanguageIdSettings()
&& Objects.equals(languageIdSettingsAsStrings(), other.languageIdSettingsAsStrings());
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*/
@Override
public final String toString() {
return ToString.builder("StartTranscriptionJobRequest").add("TranscriptionJobName", transcriptionJobName())
.add("LanguageCode", languageCodeAsString()).add("MediaSampleRateHertz", mediaSampleRateHertz())
.add("MediaFormat", mediaFormatAsString()).add("Media", media()).add("OutputBucketName", outputBucketName())
.add("OutputKey", outputKey()).add("OutputEncryptionKMSKeyId", outputEncryptionKMSKeyId())
.add("KMSEncryptionContext", hasKmsEncryptionContext() ? kmsEncryptionContext() : null)
.add("Settings", settings()).add("ModelSettings", modelSettings())
.add("JobExecutionSettings", jobExecutionSettings()).add("ContentRedaction", contentRedaction())
.add("IdentifyLanguage", identifyLanguage()).add("IdentifyMultipleLanguages", identifyMultipleLanguages())
.add("LanguageOptions", hasLanguageOptions() ? languageOptionsAsStrings() : null).add("Subtitles", subtitles())
.add("Tags", hasTags() ? tags() : null)
.add("LanguageIdSettings", hasLanguageIdSettings() ? languageIdSettingsAsStrings() : null).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "TranscriptionJobName":
return Optional.ofNullable(clazz.cast(transcriptionJobName()));
case "LanguageCode":
return Optional.ofNullable(clazz.cast(languageCodeAsString()));
case "MediaSampleRateHertz":
return Optional.ofNullable(clazz.cast(mediaSampleRateHertz()));
case "MediaFormat":
return Optional.ofNullable(clazz.cast(mediaFormatAsString()));
case "Media":
return Optional.ofNullable(clazz.cast(media()));
case "OutputBucketName":
return Optional.ofNullable(clazz.cast(outputBucketName()));
case "OutputKey":
return Optional.ofNullable(clazz.cast(outputKey()));
case "OutputEncryptionKMSKeyId":
return Optional.ofNullable(clazz.cast(outputEncryptionKMSKeyId()));
case "KMSEncryptionContext":
return Optional.ofNullable(clazz.cast(kmsEncryptionContext()));
case "Settings":
return Optional.ofNullable(clazz.cast(settings()));
case "ModelSettings":
return Optional.ofNullable(clazz.cast(modelSettings()));
case "JobExecutionSettings":
return Optional.ofNullable(clazz.cast(jobExecutionSettings()));
case "ContentRedaction":
return Optional.ofNullable(clazz.cast(contentRedaction()));
case "IdentifyLanguage":
return Optional.ofNullable(clazz.cast(identifyLanguage()));
case "IdentifyMultipleLanguages":
return Optional.ofNullable(clazz.cast(identifyMultipleLanguages()));
case "LanguageOptions":
return Optional.ofNullable(clazz.cast(languageOptionsAsStrings()));
case "Subtitles":
return Optional.ofNullable(clazz.cast(subtitles()));
case "Tags":
return Optional.ofNullable(clazz.cast(tags()));
case "LanguageIdSettings":
return Optional.ofNullable(clazz.cast(languageIdSettingsAsStrings()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((StartTranscriptionJobRequest) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends TranscribeRequest.Builder, SdkPojo, CopyableBuilder {
/**
*
* A unique name, chosen by you, for your transcription job. The name you specify is also used as the default
* name of your transcription output file. If you want to specify a different name for your transcription
* output, use the OutputKey
parameter.
*
*
* This name is case sensitive, cannot contain spaces, and must be unique within an Amazon Web Services account.
* If you try to create a new job with the same name as an existing job, you get a
* ConflictException
error.
*
*
* @param transcriptionJobName
* A unique name, chosen by you, for your transcription job. The name you specify is also used as the
* default name of your transcription output file. If you want to specify a different name for your
* transcription output, use the OutputKey
parameter.
*
* This name is case sensitive, cannot contain spaces, and must be unique within an Amazon Web Services
* account. If you try to create a new job with the same name as an existing job, you get a
* ConflictException
error.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder transcriptionJobName(String transcriptionJobName);
/**
*
* The language code that represents the language spoken in the input media file.
*
*
* If you're unsure of the language spoken in your media file, consider using IdentifyLanguage
or
* IdentifyMultipleLanguages
to enable automatic language identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported languages
* table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
*
*
* @param languageCode
* The language code that represents the language spoken in the input media file.
*
* If you're unsure of the language spoken in your media file, consider using
* IdentifyLanguage
or IdentifyMultipleLanguages
to enable automatic language
* identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these
* parameters, your transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported
* languages table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded
* at a sample rate of 16,000 Hz or higher.
*
* @see LanguageCode
* @return Returns a reference to this object so that method calls can be chained together.
* @see LanguageCode
*/
Builder languageCode(String languageCode);
/**
*
* The language code that represents the language spoken in the input media file.
*
*
* If you're unsure of the language spoken in your media file, consider using IdentifyLanguage
or
* IdentifyMultipleLanguages
to enable automatic language identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported languages
* table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
*
*
* @param languageCode
* The language code that represents the language spoken in the input media file.
*
* If you're unsure of the language spoken in your media file, consider using
* IdentifyLanguage
or IdentifyMultipleLanguages
to enable automatic language
* identification.
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these
* parameters, your transcription job fails.
*
*
* For a list of supported languages and their associated language codes, refer to the Supported
* languages table.
*
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded
* at a sample rate of 16,000 Hz or higher.
*
* @see LanguageCode
* @return Returns a reference to this object so that method calls can be chained together.
* @see LanguageCode
*/
Builder languageCode(LanguageCode languageCode);
/**
*
* The sample rate, in Hertz, of the audio track in your input media file.
*
*
* If you don't specify the media sample rate, Amazon Transcribe determines it for you. If you specify the
* sample rate, it must match the rate detected by Amazon Transcribe; if there's a mismatch between the value
* you specify and the value detected, your job fails. Therefore, in most cases, it's advised to omit
* MediaSampleRateHertz
and let Amazon Transcribe determine the sample rate.
*
*
* @param mediaSampleRateHertz
* The sample rate, in Hertz, of the audio track in your input media file.
*
* If you don't specify the media sample rate, Amazon Transcribe determines it for you. If you specify
* the sample rate, it must match the rate detected by Amazon Transcribe; if there's a mismatch between
* the value you specify and the value detected, your job fails. Therefore, in most cases, it's advised
* to omit MediaSampleRateHertz
and let Amazon Transcribe determine the sample rate.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder mediaSampleRateHertz(Integer mediaSampleRateHertz);
/**
*
* Specify the format of your input media file.
*
*
* @param mediaFormat
* Specify the format of your input media file.
* @see MediaFormat
* @return Returns a reference to this object so that method calls can be chained together.
* @see MediaFormat
*/
Builder mediaFormat(String mediaFormat);
/**
*
* Specify the format of your input media file.
*
*
* @param mediaFormat
* Specify the format of your input media file.
* @see MediaFormat
* @return Returns a reference to this object so that method calls can be chained together.
* @see MediaFormat
*/
Builder mediaFormat(MediaFormat mediaFormat);
/**
*
* Describes the Amazon S3 location of the media file you want to use in your request.
*
*
* @param media
* Describes the Amazon S3 location of the media file you want to use in your request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder media(Media media);
/**
*
* Describes the Amazon S3 location of the media file you want to use in your request.
*
* This is a convenience method that creates an instance of the {@link Media.Builder} avoiding the need to
* create one manually via {@link Media#builder()}.
*
* When the {@link Consumer} completes, {@link Media.Builder#build()} is called immediately and its result is
* passed to {@link #media(Media)}.
*
* @param media
* a consumer that will call methods on {@link Media.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #media(Media)
*/
default Builder media(Consumer media) {
return media(Media.builder().applyMutation(media).build());
}
/**
*
* The name of the Amazon S3 bucket where you want your transcription output stored. Do not include the
* S3://
prefix of the specified bucket.
*
*
* If you want your output to go to a sub-folder of this bucket, specify it using the OutputKey
* parameter; OutputBucketName
only accepts the name of a bucket.
*
*
* For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET
, set
* OutputBucketName
to DOC-EXAMPLE-BUCKET
. However, if you want your output stored in
* S3://DOC-EXAMPLE-BUCKET/test-files/
, set OutputBucketName
to
* DOC-EXAMPLE-BUCKET
and OutputKey
to test-files/
.
*
*
* Note that Amazon Transcribe must have permission to use the specified location. You can change Amazon S3
* permissions using the Amazon Web Services Management Console .
* See also Permissions Required for IAM User Roles .
*
*
* If you don't specify OutputBucketName
, your transcript is placed in a service-managed Amazon S3
* bucket and you are provided with a URI to access your transcript.
*
*
* @param outputBucketName
* The name of the Amazon S3 bucket where you want your transcription output stored. Do not include the
* S3://
prefix of the specified bucket.
*
* If you want your output to go to a sub-folder of this bucket, specify it using the
* OutputKey
parameter; OutputBucketName
only accepts the name of a bucket.
*
*
* For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET
, set
* OutputBucketName
to DOC-EXAMPLE-BUCKET
. However, if you want your output
* stored in S3://DOC-EXAMPLE-BUCKET/test-files/
, set OutputBucketName
to
* DOC-EXAMPLE-BUCKET
and OutputKey
to test-files/
.
*
*
* Note that Amazon Transcribe must have permission to use the specified location. You can change Amazon
* S3 permissions using the Amazon Web Services Management
* Console . See also Permissions Required for IAM User Roles .
*
*
* If you don't specify OutputBucketName
, your transcript is placed in a service-managed
* Amazon S3 bucket and you are provided with a URI to access your transcript.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder outputBucketName(String outputBucketName);
/**
*
* Use in combination with OutputBucketName
to specify the output location of your transcript and,
* optionally, a unique name for your output file. The default name for your transcription output is the same as
* the name you specified for your transcription job (TranscriptionJobName
).
*
*
* Here are some examples of how you can use OutputKey
:
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and 'my-transcript.json' as the
* OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET' as the
* OutputBucketName
, and 'my-transcript' as the OutputKey
, your transcription output
* path is s3://DOC-EXAMPLE-BUCKET/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and 'test-files/my-transcript.json'
* as the OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET' as the
* OutputBucketName
, and 'test-files/my-transcript' as the OutputKey
, your
* transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify the name of an Amazon S3 bucket sub-folder that doesn't exist, one is created for you.
*
*
* @param outputKey
* Use in combination with OutputBucketName
to specify the output location of your
* transcript and, optionally, a unique name for your output file. The default name for your
* transcription output is the same as the name you specified for your transcription job (
* TranscriptionJobName
).
*
* Here are some examples of how you can use OutputKey
:
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and 'my-transcript.json' as
* the OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET'
* as the OutputBucketName
, and 'my-transcript' as the OutputKey
, your
* transcription output path is
* s3://DOC-EXAMPLE-BUCKET/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
and
* 'test-files/my-transcript.json' as the OutputKey
, your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript.json
.
*
*
*
*
* If you specify 'my-first-transcription' as the TranscriptionJobName
, 'DOC-EXAMPLE-BUCKET'
* as the OutputBucketName
, and 'test-files/my-transcript' as the OutputKey
,
* your transcription output path is
* s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.json
.
*
*
*
*
* If you specify the name of an Amazon S3 bucket sub-folder that doesn't exist, one is created for you.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder outputKey(String outputKey);
/**
*
* The KMS key you want to use to encrypt your transcription output.
*
*
* If using a key located in the current Amazon Web Services account, you can specify your KMS key in one
* of four ways:
*
*
*
*
* Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use an alias for the KMS key ID. For example, alias/ExampleAlias
.
*
*
*
*
* Use the Amazon Resource Name (ARN) for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias
* .
*
*
*
*
* If using a key located in a different Amazon Web Services account than the current Amazon Web Services
* account, you can specify your KMS key in one of two ways:
*
*
*
*
* Use the ARN for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias
* .
*
*
*
*
* If you don't specify an encryption key, your output 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 using the
* OutputLocation
parameter.
*
*
* Note that the user making the request must have permission to use the specified KMS key.
*
*
* @param outputEncryptionKMSKeyId
* The KMS key you want to use to encrypt your transcription output.
*
* If using a key located in the current Amazon Web Services account, you can specify your KMS key
* in one of four ways:
*
*
*
*
* Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use an alias for the KMS key ID. For example, alias/ExampleAlias
.
*
*
*
*
* Use the Amazon Resource Name (ARN) for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example,
* arn:aws:kms:region:account-ID:alias/ExampleAlias
.
*
*
*
*
* If using a key located in a different Amazon Web Services account than the current Amazon Web
* Services account, you can specify your KMS key in one of two ways:
*
*
*
*
* Use the ARN for the KMS key ID. For example,
* arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
*
*
*
*
* Use the ARN for the KMS key alias. For example,
* arn:aws:kms:region:account-ID:alias/ExampleAlias
.
*
*
*
*
* If you don't specify an encryption key, your output 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 using the
* OutputLocation
parameter.
*
*
* Note that the user making the request must have permission to use the specified KMS key.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder outputEncryptionKMSKeyId(String outputEncryptionKMSKeyId);
/**
*
* A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added
* layer of security for your data. For more information, see KMS encryption
* context and Asymmetric keys in KMS .
*
*
* @param kmsEncryptionContext
* A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an
* added layer of security for your data. For more information, see KMS encryption
* context and Asymmetric keys in
* KMS .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder kmsEncryptionContext(Map kmsEncryptionContext);
/**
*
* Specify additional optional settings in your request, including channel identification, alternative
* transcriptions, speaker labeling; allows you to apply custom vocabularies and vocabulary filters.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use Settings
with the
* VocabularyName
or VocabularyFilterName
(or both) sub-parameter.
*
*
* If you're using automatic language identification with your request and want to include a custom language
* model, a custom vocabulary, or a custom vocabulary filter, use instead the
*
parameter with the LanguageModelName
, VocabularyName
or
* VocabularyFilterName
sub-parameters.
*
*
* @param settings
* Specify additional optional settings in your request, including channel identification, alternative
* transcriptions, speaker labeling; allows you to apply custom vocabularies and vocabulary filters.
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request
* but do not want to use automatic language identification, use Settings
with the
* VocabularyName
or VocabularyFilterName
(or both) sub-parameter.
*
*
* If you're using automatic language identification with your request and want to include a custom
* language model, a custom vocabulary, or a custom vocabulary filter, use instead the
*
parameter with the LanguageModelName
, VocabularyName
or
* VocabularyFilterName
sub-parameters.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder settings(Settings settings);
/**
*
* Specify additional optional settings in your request, including channel identification, alternative
* transcriptions, speaker labeling; allows you to apply custom vocabularies and vocabulary filters.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use Settings
with the
* VocabularyName
or VocabularyFilterName
(or both) sub-parameter.
*
*
* If you're using automatic language identification with your request and want to include a custom language
* model, a custom vocabulary, or a custom vocabulary filter, use instead the
*
parameter with the LanguageModelName
, VocabularyName
or
* VocabularyFilterName
sub-parameters.
*
* This is a convenience method that creates an instance of the {@link Settings.Builder} avoiding the need to
* create one manually via {@link Settings#builder()}.
*
* When the {@link Consumer} completes, {@link Settings.Builder#build()} is called immediately and its result is
* passed to {@link #settings(Settings)}.
*
* @param settings
* a consumer that will call methods on {@link Settings.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #settings(Settings)
*/
default Builder settings(Consumer settings) {
return settings(Settings.builder().applyMutation(settings).build());
}
/**
*
* Specify the custom language model you want to include with your transcription job. If you include
* ModelSettings
in your request, you must include the LanguageModelName
* sub-parameter.
*
*
* For more information, see Custom language
* models .
*
*
* @param modelSettings
* Specify the custom language model you want to include with your transcription job. If you include
* ModelSettings
in your request, you must include the LanguageModelName
* sub-parameter.
*
* For more information, see Custom language
* models .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder modelSettings(ModelSettings modelSettings);
/**
*
* Specify the custom language model you want to include with your transcription job. If you include
* ModelSettings
in your request, you must include the LanguageModelName
* sub-parameter.
*
*
* For more information, see Custom language
* models .
*
* This is a convenience method that creates an instance of the {@link ModelSettings.Builder} avoiding the need
* to create one manually via {@link ModelSettings#builder()}.
*
* When the {@link Consumer} completes, {@link ModelSettings.Builder#build()} is called immediately and its
* result is passed to {@link #modelSettings(ModelSettings)}.
*
* @param modelSettings
* a consumer that will call methods on {@link ModelSettings.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #modelSettings(ModelSettings)
*/
default Builder modelSettings(Consumer modelSettings) {
return modelSettings(ModelSettings.builder().applyMutation(modelSettings).build());
}
/**
*
* Allows you to control how your transcription job is processed. Currently, the only
* JobExecutionSettings
modification you can choose is enabling job queueing using the
* AllowDeferredExecution
sub-parameter.
*
*
* If you include JobExecutionSettings
in your request, you must also include the sub-parameters:
* AllowDeferredExecution
and DataAccessRoleArn
.
*
*
* @param jobExecutionSettings
* Allows you to control how your transcription job is processed. Currently, the only
* JobExecutionSettings
modification you can choose is enabling job queueing using the
* AllowDeferredExecution
sub-parameter.
*
* If you include JobExecutionSettings
in your request, you must also include the
* sub-parameters: AllowDeferredExecution
and DataAccessRoleArn
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder jobExecutionSettings(JobExecutionSettings jobExecutionSettings);
/**
*
* Allows you to control how your transcription job is processed. Currently, the only
* JobExecutionSettings
modification you can choose is enabling job queueing using the
* AllowDeferredExecution
sub-parameter.
*
*
* If you include JobExecutionSettings
in your request, you must also include the sub-parameters:
* AllowDeferredExecution
and DataAccessRoleArn
.
*
* This is a convenience method that creates an instance of the {@link JobExecutionSettings.Builder} avoiding
* the need to create one manually via {@link JobExecutionSettings#builder()}.
*
* When the {@link Consumer} completes, {@link JobExecutionSettings.Builder#build()} is called immediately and
* its result is passed to {@link #jobExecutionSettings(JobExecutionSettings)}.
*
* @param jobExecutionSettings
* a consumer that will call methods on {@link JobExecutionSettings.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #jobExecutionSettings(JobExecutionSettings)
*/
default Builder jobExecutionSettings(Consumer jobExecutionSettings) {
return jobExecutionSettings(JobExecutionSettings.builder().applyMutation(jobExecutionSettings).build());
}
/**
*
* Allows you to redact or flag specified personally identifiable information (PII) in your transcript. If you
* use ContentRedaction
, you must also include the sub-parameters: PiiEntityTypes
,
* RedactionOutput
, and RedactionType
.
*
*
* @param contentRedaction
* Allows you to redact or flag specified personally identifiable information (PII) in your transcript.
* If you use ContentRedaction
, you must also include the sub-parameters:
* PiiEntityTypes
, RedactionOutput
, and RedactionType
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder contentRedaction(ContentRedaction contentRedaction);
/**
*
* Allows you to redact or flag specified personally identifiable information (PII) in your transcript. If you
* use ContentRedaction
, you must also include the sub-parameters: PiiEntityTypes
,
* RedactionOutput
, and RedactionType
.
*
* This is a convenience method that creates an instance of the {@link ContentRedaction.Builder} avoiding the
* need to create one manually via {@link ContentRedaction#builder()}.
*
* When the {@link Consumer} completes, {@link ContentRedaction.Builder#build()} is called immediately and its
* result is passed to {@link #contentRedaction(ContentRedaction)}.
*
* @param contentRedaction
* a consumer that will call methods on {@link ContentRedaction.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #contentRedaction(ContentRedaction)
*/
default Builder contentRedaction(Consumer contentRedaction) {
return contentRedaction(ContentRedaction.builder().applyMutation(contentRedaction).build());
}
/**
*
* Enables automatic language identification in your transcription job request.
*
*
* If you include IdentifyLanguage
, you can optionally include a list of language codes, using
* LanguageOptions
, that you think may be present in your media file. Including language options
* can improve transcription accuracy.
*
*
* If you want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter to your
* automatic language identification request, include LanguageIdSettings
with the relevant
* sub-parameters (VocabularyName
, LanguageModelName
, and
* VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*
*
* @param identifyLanguage
* Enables automatic language identification in your transcription job request.
*
* If you include IdentifyLanguage
, you can optionally include a list of language codes,
* using LanguageOptions
, that you think may be present in your media file. Including
* language options can improve transcription accuracy.
*
*
* If you want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter to
* your automatic language identification request, include LanguageIdSettings
with the
* relevant sub-parameters (VocabularyName
, LanguageModelName
, and
* VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these
* parameters, your transcription job fails.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder identifyLanguage(Boolean identifyLanguage);
/**
*
* Enables automatic multi-language identification in your transcription job request. Use this parameter if your
* media file contains more than one language.
*
*
* If you include IdentifyMultipleLanguages
, you can optionally include a list of language codes,
* using LanguageOptions
, that you think may be present in your media file. Including language
* options can improve transcription accuracy.
*
*
* If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic language
* identification request, include LanguageIdSettings
with the relevant sub-parameters (
* VocabularyName
and VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these parameters,
* your transcription job fails.
*
*
* @param identifyMultipleLanguages
* Enables automatic multi-language identification in your transcription job request. Use this parameter
* if your media file contains more than one language.
*
* If you include IdentifyMultipleLanguages
, you can optionally include a list of language
* codes, using LanguageOptions
, that you think may be present in your media file. Including
* language options can improve transcription accuracy.
*
*
* If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic language
* identification request, include LanguageIdSettings
with the relevant sub-parameters (
* VocabularyName
and VocabularyFilterName
).
*
*
* Note that you must include one of LanguageCode
, IdentifyLanguage
, or
* IdentifyMultipleLanguages
in your request. If you include more than one of these
* parameters, your transcription job fails.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder identifyMultipleLanguages(Boolean identifyMultipleLanguages);
/**
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. If you're unsure what languages are present, do not
* include this parameter.
*
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* You can specify two or more language codes that represent the languages you think may be present in
* your media; including more than five is not recommended. If you're unsure what languages are present,
* do not include this parameter.
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported
* languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded
* at a sample rate of 16,000 Hz or higher.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder languageOptionsWithStrings(Collection languageOptions);
/**
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. If you're unsure what languages are present, do not
* include this parameter.
*
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* You can specify two or more language codes that represent the languages you think may be present in
* your media; including more than five is not recommended. If you're unsure what languages are present,
* do not include this parameter.
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported
* languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded
* at a sample rate of 16,000 Hz or higher.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder languageOptionsWithStrings(String... languageOptions);
/**
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. If you're unsure what languages are present, do not
* include this parameter.
*
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* You can specify two or more language codes that represent the languages you think may be present in
* your media; including more than five is not recommended. If you're unsure what languages are present,
* do not include this parameter.
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported
* languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded
* at a sample rate of 16,000 Hz or higher.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder languageOptions(Collection languageOptions);
/**
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. If you're unsure what languages are present, do not
* include this parameter.
*
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded at a
* sample rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* You can specify two or more language codes that represent the languages you think may be present in
* your media; including more than five is not recommended. If you're unsure what languages are present,
* do not include this parameter.
*
* If you include LanguageOptions
in your request, you must also include
* IdentifyLanguage
.
*
*
* For more information, refer to Supported
* languages .
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA
), your media file must be encoded
* at a sample rate of 16,000 Hz or higher.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder languageOptions(LanguageCode... languageOptions);
/**
*
* Produces subtitle files for your input media. You can specify WebVTT (*.vtt) and SubRip (*.srt) formats.
*
*
* @param subtitles
* Produces subtitle files for your input media. You can specify WebVTT (*.vtt) and SubRip (*.srt)
* formats.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder subtitles(Subtitles subtitles);
/**
*
* Produces subtitle files for your input media. You can specify WebVTT (*.vtt) and SubRip (*.srt) formats.
*
* This is a convenience method that creates an instance of the {@link Subtitles.Builder} avoiding the need to
* create one manually via {@link Subtitles#builder()}.
*
* When the {@link Consumer} completes, {@link Subtitles.Builder#build()} is called immediately and its result
* is passed to {@link #subtitles(Subtitles)}.
*
* @param subtitles
* a consumer that will call methods on {@link Subtitles.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #subtitles(Subtitles)
*/
default Builder subtitles(Consumer subtitles) {
return subtitles(Subtitles.builder().applyMutation(subtitles).build());
}
/**
*
* Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the time
* you start this new job.
*
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
*
*
* @param tags
* Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the
* time you start this new job.
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Collection tags);
/**
*
* Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the time
* you start this new job.
*
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
*
*
* @param tags
* Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the
* time you start this new job.
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Tag... tags);
/**
*
* Adds one or more custom tags, each in the form of a key:value pair, to a new transcription job at the time
* you start this new job.
*
*
* To learn more about using tags with Amazon Transcribe, refer to Tagging resources .
*
* This is a convenience method that creates an instance of the {@link List.Builder} avoiding the need to
* create one manually via {@link List#builder()}.
*
* When the {@link Consumer} completes, {@link List.Builder#build()} is called immediately and its result
* is passed to {@link #tags(List)}.
*
* @param tags
* a consumer that will call methods on {@link List.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #tags(List)
*/
Builder tags(Consumer... tags);
/**
*
* If using automatic language identification (IdentifyLanguage
) in your request and you want to
* apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. Each language code you include can have an associated
* custom language model, custom vocabulary, and custom vocabulary filter. The languages you specify must match
* the languages of the specified custom language models, custom vocabularies, and custom vocabulary filters.
*
*
* To include language options using IdentifyLanguage
without including a custom language
* model, a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
instead of
* LanguageIdSettings
. Including language options can improve the accuracy of automatic language
* identification.
*
*
* If you want to include a custom language model with your request but do not want to use automatic
* language identification, use instead the
parameter with the LanguageModelName
* sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
*
*
* @param languageIdSettings
* If using automatic language identification (IdentifyLanguage
) in your request and you
* want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
* You can specify two or more language codes that represent the languages you think may be present in
* your media; including more than five is not recommended. Each language code you include can have an
* associated custom language model, custom vocabulary, and custom vocabulary filter. The languages you
* specify must match the languages of the specified custom language models, custom vocabularies, and
* custom vocabulary filters.
*
*
* To include language options using IdentifyLanguage
without including a custom
* language model, a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
* instead of LanguageIdSettings
. Including language options can improve the accuracy of
* automatic language identification.
*
*
* If you want to include a custom language model with your request but do not want to use
* automatic language identification, use instead the
*
parameter with the LanguageModelName
sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request
* but do not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder languageIdSettingsWithStrings(Map languageIdSettings);
/**
*
* If using automatic language identification (IdentifyLanguage
) in your request and you want to
* apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
*
* You can specify two or more language codes that represent the languages you think may be present in your
* media; including more than five is not recommended. Each language code you include can have an associated
* custom language model, custom vocabulary, and custom vocabulary filter. The languages you specify must match
* the languages of the specified custom language models, custom vocabularies, and custom vocabulary filters.
*
*
* To include language options using IdentifyLanguage
without including a custom language
* model, a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
instead of
* LanguageIdSettings
. Including language options can improve the accuracy of automatic language
* identification.
*
*
* If you want to include a custom language model with your request but do not want to use automatic
* language identification, use instead the
parameter with the LanguageModelName
* sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but
* do not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
*
*
* @param languageIdSettings
* If using automatic language identification (IdentifyLanguage
) in your request and you
* want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include
* LanguageIdSettings
with the relevant sub-parameters (VocabularyName
,
* LanguageModelName
, and VocabularyFilterName
).
*
* You can specify two or more language codes that represent the languages you think may be present in
* your media; including more than five is not recommended. Each language code you include can have an
* associated custom language model, custom vocabulary, and custom vocabulary filter. The languages you
* specify must match the languages of the specified custom language models, custom vocabularies, and
* custom vocabulary filters.
*
*
* To include language options using IdentifyLanguage
without including a custom
* language model, a custom vocabulary, or a custom vocabulary filter, use LanguageOptions
* instead of LanguageIdSettings
. Including language options can improve the accuracy of
* automatic language identification.
*
*
* If you want to include a custom language model with your request but do not want to use
* automatic language identification, use instead the
*
parameter with the LanguageModelName
sub-parameter.
*
*
* If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request
* but do not want to use automatic language identification, use instead the
*
parameter with the VocabularyName
or VocabularyFilterName
(or both)
* sub-parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder languageIdSettings(Map languageIdSettings);
@Override
Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration);
@Override
Builder overrideConfiguration(Consumer builderConsumer);
}
static final class BuilderImpl extends TranscribeRequest.BuilderImpl implements Builder {
private String transcriptionJobName;
private String languageCode;
private Integer mediaSampleRateHertz;
private String mediaFormat;
private Media media;
private String outputBucketName;
private String outputKey;
private String outputEncryptionKMSKeyId;
private Map kmsEncryptionContext = DefaultSdkAutoConstructMap.getInstance();
private Settings settings;
private ModelSettings modelSettings;
private JobExecutionSettings jobExecutionSettings;
private ContentRedaction contentRedaction;
private Boolean identifyLanguage;
private Boolean identifyMultipleLanguages;
private List languageOptions = DefaultSdkAutoConstructList.getInstance();
private Subtitles subtitles;
private List tags = DefaultSdkAutoConstructList.getInstance();
private Map languageIdSettings = DefaultSdkAutoConstructMap.getInstance();
private BuilderImpl() {
}
private BuilderImpl(StartTranscriptionJobRequest model) {
super(model);
transcriptionJobName(model.transcriptionJobName);
languageCode(model.languageCode);
mediaSampleRateHertz(model.mediaSampleRateHertz);
mediaFormat(model.mediaFormat);
media(model.media);
outputBucketName(model.outputBucketName);
outputKey(model.outputKey);
outputEncryptionKMSKeyId(model.outputEncryptionKMSKeyId);
kmsEncryptionContext(model.kmsEncryptionContext);
settings(model.settings);
modelSettings(model.modelSettings);
jobExecutionSettings(model.jobExecutionSettings);
contentRedaction(model.contentRedaction);
identifyLanguage(model.identifyLanguage);
identifyMultipleLanguages(model.identifyMultipleLanguages);
languageOptionsWithStrings(model.languageOptions);
subtitles(model.subtitles);
tags(model.tags);
languageIdSettingsWithStrings(model.languageIdSettings);
}
public final String getTranscriptionJobName() {
return transcriptionJobName;
}
public final void setTranscriptionJobName(String transcriptionJobName) {
this.transcriptionJobName = transcriptionJobName;
}
@Override
public final Builder transcriptionJobName(String transcriptionJobName) {
this.transcriptionJobName = transcriptionJobName;
return this;
}
public final String getLanguageCode() {
return languageCode;
}
public final void setLanguageCode(String languageCode) {
this.languageCode = languageCode;
}
@Override
public final Builder languageCode(String languageCode) {
this.languageCode = languageCode;
return this;
}
@Override
public final Builder languageCode(LanguageCode languageCode) {
this.languageCode(languageCode == null ? null : languageCode.toString());
return this;
}
public final Integer getMediaSampleRateHertz() {
return mediaSampleRateHertz;
}
public final void setMediaSampleRateHertz(Integer mediaSampleRateHertz) {
this.mediaSampleRateHertz = mediaSampleRateHertz;
}
@Override
public final Builder mediaSampleRateHertz(Integer mediaSampleRateHertz) {
this.mediaSampleRateHertz = mediaSampleRateHertz;
return this;
}
public final String getMediaFormat() {
return mediaFormat;
}
public final void setMediaFormat(String mediaFormat) {
this.mediaFormat = mediaFormat;
}
@Override
public final Builder mediaFormat(String mediaFormat) {
this.mediaFormat = mediaFormat;
return this;
}
@Override
public final Builder mediaFormat(MediaFormat mediaFormat) {
this.mediaFormat(mediaFormat == null ? null : mediaFormat.toString());
return this;
}
public final Media.Builder getMedia() {
return media != null ? media.toBuilder() : null;
}
public final void setMedia(Media.BuilderImpl media) {
this.media = media != null ? media.build() : null;
}
@Override
public final Builder media(Media media) {
this.media = media;
return this;
}
public final String getOutputBucketName() {
return outputBucketName;
}
public final void setOutputBucketName(String outputBucketName) {
this.outputBucketName = outputBucketName;
}
@Override
public final Builder outputBucketName(String outputBucketName) {
this.outputBucketName = outputBucketName;
return this;
}
public final String getOutputKey() {
return outputKey;
}
public final void setOutputKey(String outputKey) {
this.outputKey = outputKey;
}
@Override
public final Builder outputKey(String outputKey) {
this.outputKey = outputKey;
return this;
}
public final String getOutputEncryptionKMSKeyId() {
return outputEncryptionKMSKeyId;
}
public final void setOutputEncryptionKMSKeyId(String outputEncryptionKMSKeyId) {
this.outputEncryptionKMSKeyId = outputEncryptionKMSKeyId;
}
@Override
public final Builder outputEncryptionKMSKeyId(String outputEncryptionKMSKeyId) {
this.outputEncryptionKMSKeyId = outputEncryptionKMSKeyId;
return this;
}
public final Map getKmsEncryptionContext() {
if (kmsEncryptionContext instanceof SdkAutoConstructMap) {
return null;
}
return kmsEncryptionContext;
}
public final void setKmsEncryptionContext(Map kmsEncryptionContext) {
this.kmsEncryptionContext = KMSEncryptionContextMapCopier.copy(kmsEncryptionContext);
}
@Override
public final Builder kmsEncryptionContext(Map kmsEncryptionContext) {
this.kmsEncryptionContext = KMSEncryptionContextMapCopier.copy(kmsEncryptionContext);
return this;
}
public final Settings.Builder getSettings() {
return settings != null ? settings.toBuilder() : null;
}
public final void setSettings(Settings.BuilderImpl settings) {
this.settings = settings != null ? settings.build() : null;
}
@Override
@Transient
public final Builder settings(Settings settings) {
this.settings = settings;
return this;
}
public final ModelSettings.Builder getModelSettings() {
return modelSettings != null ? modelSettings.toBuilder() : null;
}
public final void setModelSettings(ModelSettings.BuilderImpl modelSettings) {
this.modelSettings = modelSettings != null ? modelSettings.build() : null;
}
@Override
public final Builder modelSettings(ModelSettings modelSettings) {
this.modelSettings = modelSettings;
return this;
}
public final JobExecutionSettings.Builder getJobExecutionSettings() {
return jobExecutionSettings != null ? jobExecutionSettings.toBuilder() : null;
}
public final void setJobExecutionSettings(JobExecutionSettings.BuilderImpl jobExecutionSettings) {
this.jobExecutionSettings = jobExecutionSettings != null ? jobExecutionSettings.build() : null;
}
@Override
public final Builder jobExecutionSettings(JobExecutionSettings jobExecutionSettings) {
this.jobExecutionSettings = jobExecutionSettings;
return this;
}
public final ContentRedaction.Builder getContentRedaction() {
return contentRedaction != null ? contentRedaction.toBuilder() : null;
}
public final void setContentRedaction(ContentRedaction.BuilderImpl contentRedaction) {
this.contentRedaction = contentRedaction != null ? contentRedaction.build() : null;
}
@Override
public final Builder contentRedaction(ContentRedaction contentRedaction) {
this.contentRedaction = contentRedaction;
return this;
}
public final Boolean getIdentifyLanguage() {
return identifyLanguage;
}
public final void setIdentifyLanguage(Boolean identifyLanguage) {
this.identifyLanguage = identifyLanguage;
}
@Override
public final Builder identifyLanguage(Boolean identifyLanguage) {
this.identifyLanguage = identifyLanguage;
return this;
}
public final Boolean getIdentifyMultipleLanguages() {
return identifyMultipleLanguages;
}
public final void setIdentifyMultipleLanguages(Boolean identifyMultipleLanguages) {
this.identifyMultipleLanguages = identifyMultipleLanguages;
}
@Override
public final Builder identifyMultipleLanguages(Boolean identifyMultipleLanguages) {
this.identifyMultipleLanguages = identifyMultipleLanguages;
return this;
}
public final Collection getLanguageOptions() {
if (languageOptions instanceof SdkAutoConstructList) {
return null;
}
return languageOptions;
}
public final void setLanguageOptions(Collection languageOptions) {
this.languageOptions = LanguageOptionsCopier.copy(languageOptions);
}
@Override
public final Builder languageOptionsWithStrings(Collection languageOptions) {
this.languageOptions = LanguageOptionsCopier.copy(languageOptions);
return this;
}
@Override
@SafeVarargs
public final Builder languageOptionsWithStrings(String... languageOptions) {
languageOptionsWithStrings(Arrays.asList(languageOptions));
return this;
}
@Override
public final Builder languageOptions(Collection languageOptions) {
this.languageOptions = LanguageOptionsCopier.copyEnumToString(languageOptions);
return this;
}
@Override
@SafeVarargs
public final Builder languageOptions(LanguageCode... languageOptions) {
languageOptions(Arrays.asList(languageOptions));
return this;
}
public final Subtitles.Builder getSubtitles() {
return subtitles != null ? subtitles.toBuilder() : null;
}
public final void setSubtitles(Subtitles.BuilderImpl subtitles) {
this.subtitles = subtitles != null ? subtitles.build() : null;
}
@Override
public final Builder subtitles(Subtitles subtitles) {
this.subtitles = subtitles;
return this;
}
public final List getTags() {
List result = TagListCopier.copyToBuilder(this.tags);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setTags(Collection tags) {
this.tags = TagListCopier.copyFromBuilder(tags);
}
@Override
public final Builder tags(Collection tags) {
this.tags = TagListCopier.copy(tags);
return this;
}
@Override
@SafeVarargs
public final Builder tags(Tag... tags) {
tags(Arrays.asList(tags));
return this;
}
@Override
@SafeVarargs
public final Builder tags(Consumer... tags) {
tags(Stream.of(tags).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList()));
return this;
}
public final Map getLanguageIdSettings() {
Map result = LanguageIdSettingsMapCopier.copyToBuilder(this.languageIdSettings);
if (result instanceof SdkAutoConstructMap) {
return null;
}
return result;
}
public final void setLanguageIdSettings(Map languageIdSettings) {
this.languageIdSettings = LanguageIdSettingsMapCopier.copyFromBuilder(languageIdSettings);
}
@Override
public final Builder languageIdSettingsWithStrings(Map languageIdSettings) {
this.languageIdSettings = LanguageIdSettingsMapCopier.copy(languageIdSettings);
return this;
}
@Override
public final Builder languageIdSettings(Map languageIdSettings) {
this.languageIdSettings = LanguageIdSettingsMapCopier.copyEnumToString(languageIdSettings);
return this;
}
@Override
public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) {
super.overrideConfiguration(overrideConfiguration);
return this;
}
@Override
public Builder overrideConfiguration(Consumer builderConsumer) {
super.overrideConfiguration(builderConsumer);
return this;
}
@Override
public StartTranscriptionJobRequest build() {
return new StartTranscriptionJobRequest(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}