tags;
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.languageOptions = builder.languageOptions;
this.subtitles = builder.subtitles;
this.tags = builder.tags;
}
/**
*
* The name of the job. You can't use the strings ".
" or "..
" by themselves as the job
* name. The name must also be unique within an Amazon Web Services account. If you try to create a transcription
* job with the same name as a previous transcription job, you get a ConflictException
error.
*
*
* @return The name of the job. You can't use the strings ".
" or "..
" by themselves as the
* job name. The name must also be unique within an Amazon Web Services account. If you try to create a
* transcription job with the same name as a previous transcription job, you get a
* ConflictException
error.
*/
public final String transcriptionJobName() {
return transcriptionJobName;
}
/**
*
* The language code for the language used in the input media file.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 for the language used in the input media file.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 for the language used in the input media file.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 for the language used in the input media file.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 the input media file.
*
*
* If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you specify the
* sample rate, it must match the sample rate detected by Amazon Transcribe. In most cases, you should leave the
* MediaSampleRateHertz
field blank and let Amazon Transcribe determine the sample rate.
*
*
* @return The sample rate, in Hertz, of the audio track in the input media file.
*
* If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you specify
* the sample rate, it must match the sample rate detected by Amazon Transcribe. In most cases, you should
* leave the MediaSampleRateHertz
field blank and let Amazon Transcribe determine the sample
* rate.
*/
public final Integer mediaSampleRateHertz() {
return mediaSampleRateHertz;
}
/**
*
* The format of the 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 The format of the input media file.
* @see MediaFormat
*/
public final MediaFormat mediaFormat() {
return MediaFormat.fromValue(mediaFormat);
}
/**
*
* The format of the 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 The format of the input media file.
* @see MediaFormat
*/
public final String mediaFormatAsString() {
return mediaFormat;
}
/**
*
* An object that describes the input media for a transcription job.
*
*
* @return An object that describes the input media for a transcription job.
*/
public final Media media() {
return media;
}
/**
*
* The location where the transcription is stored.
*
*
* If you set the OutputBucketName
, Amazon Transcribe puts the transcript in the specified S3 bucket.
* When you call the GetTranscriptionJob operation, the operation returns this location in the
* TranscriptFileUri
field. If you enable content redaction, the redacted transcript appears in
* RedactedTranscriptFileUri
. If you enable content redaction and choose to output an unredacted
* transcript, that transcript's location still appears in the TranscriptFileUri
. The S3 bucket must
* have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles .
*
*
* You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the output of your
* transcription using the OutputEncryptionKMSKeyId
parameter. If you don't specify a KMS key, Amazon
* Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that are placed in your S3
* bucket.
*
*
* If you don't set the OutputBucketName
, Amazon Transcribe generates a pre-signed URL, a shareable URL
* that provides secure access to your transcription, and returns it in the TranscriptFileUri
field.
* Use this URL to download the transcription.
*
*
* @return The location where the transcription is stored.
*
* If you set the OutputBucketName
, Amazon Transcribe puts the transcript in the specified S3
* bucket. When you call the GetTranscriptionJob operation, the operation returns this location in
* the TranscriptFileUri
field. If you enable content redaction, the redacted transcript
* appears in RedactedTranscriptFileUri
. If you enable content redaction and choose to output
* an unredacted transcript, that transcript's location still appears in the TranscriptFileUri
.
* The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more
* information, see Permissions Required for IAM User Roles .
*
*
* You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the output of your
* transcription using the OutputEncryptionKMSKeyId
parameter. If you don't specify a KMS key,
* Amazon Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that are
* placed in your S3 bucket.
*
*
* If you don't set the OutputBucketName
, Amazon Transcribe generates a pre-signed URL, a
* shareable URL that provides secure access to your transcription, and returns it in the
* TranscriptFileUri
field. Use this URL to download the transcription.
*/
public final String outputBucketName() {
return outputBucketName;
}
/**
*
* You can specify a location in an Amazon S3 bucket to store the output of your transcription job.
*
*
* If you don't specify an output key, Amazon Transcribe stores the output of your transcription job in the Amazon
* S3 bucket you specified. By default, the object key is "your-transcription-job-name.json".
*
*
* You can use output keys to specify the Amazon S3 prefix and file name of the transcription output. For example,
* specifying the Amazon S3 prefix, "folder1/folder2/", as an output key would lead to the output being stored as
* "folder1/folder2/your-transcription-job-name.json". If you specify "my-other-job-name.json" as the output key,
* the object key is changed to "my-other-job-name.json". You can use an output key to change both the prefix and
* the file name, for example "folder/my-other-job-name.json".
*
*
* If you specify an output key, you must also specify an S3 bucket in the OutputBucketName
parameter.
*
*
* @return You can specify a location in an Amazon S3 bucket to store the output of your transcription job.
*
* If you don't specify an output key, Amazon Transcribe stores the output of your transcription job in the
* Amazon S3 bucket you specified. By default, the object key is "your-transcription-job-name.json".
*
*
* You can use output keys to specify the Amazon S3 prefix and file name of the transcription output. For
* example, specifying the Amazon S3 prefix, "folder1/folder2/", as an output key would lead to the output
* being stored as "folder1/folder2/your-transcription-job-name.json". If you specify
* "my-other-job-name.json" as the output key, the object key is changed to "my-other-job-name.json". You
* can use an output key to change both the prefix and the file name, for example
* "folder/my-other-job-name.json".
*
*
* If you specify an output key, you must also specify an S3 bucket in the OutputBucketName
* parameter.
*/
public final String outputKey() {
return outputKey;
}
/**
*
* The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to encrypt the
* output of the transcription job. The user calling the StartTranscriptionJob
operation must have
* permission to use the specified KMS key.
*
*
* You can use either of the following to identify a KMS key in the current account:
*
*
*
* You can use either of the following to identify a KMS key in the current account or another account:
*
*
*
* If you don't specify an encryption key, the output of the transcription job is encrypted with the default Amazon
* S3 key (SSE-S3).
*
*
* If you specify a KMS key to encrypt your output, you must also specify an output location in the
* OutputBucketName
parameter.
*
*
* @return The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to
* encrypt the output of the transcription job. The user calling the StartTranscriptionJob
* operation must have permission to use the specified KMS key.
*
* You can use either of the following to identify a KMS key in the current account:
*
*
*
* You can use either of the following to identify a KMS key in the current account or another account:
*
*
*
* If you don't specify an encryption key, the output of the transcription job is encrypted with the default
* Amazon S3 key (SSE-S3).
*
*
* If you specify a KMS key to encrypt your output, you must also specify an output location in the
* OutputBucketName
parameter.
*/
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.
*
*
* 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.
*/
public final Map kmsEncryptionContext() {
return kmsEncryptionContext;
}
/**
*
* A Settings
object that provides optional settings for a transcription job.
*
*
* @return A Settings
object that provides optional settings for a transcription job.
*/
public final Settings settings() {
return settings;
}
/**
*
* Choose the custom language model you use for your transcription job in this parameter.
*
*
* @return Choose the custom language model you use for your transcription job in this parameter.
*/
public final ModelSettings modelSettings() {
return modelSettings;
}
/**
*
* Provides information about how a transcription job is executed. Use this field to indicate that the job can be
* queued for deferred execution if the concurrency limit is reached and there are no slots available to immediately
* run the job.
*
*
* @return Provides information about how a transcription job is executed. Use this field to indicate that the job
* can be queued for deferred execution if the concurrency limit is reached and there are no slots available
* to immediately run the job.
*/
public final JobExecutionSettings jobExecutionSettings() {
return jobExecutionSettings;
}
/**
*
* An object that contains the request parameters for content redaction.
*
*
* @return An object that contains the request parameters for content redaction.
*/
public final ContentRedaction contentRedaction() {
return contentRedaction;
}
/**
*
* Set this field to true
to enable automatic language identification. Automatic language
* identification is disabled by default. You receive a BadRequestException
error if you enter a value
* for a LanguageCode
.
*
*
* @return Set this field to true
to enable automatic language identification. Automatic language
* identification is disabled by default. You receive a BadRequestException
error if you enter
* a value for a LanguageCode
.
*/
public final Boolean identifyLanguage() {
return identifyLanguage;
}
/**
*
* An object containing a list of languages that might be present in your collection of audio files. Automatic
* language identification chooses a language that best matches the source audio from that list.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 An object containing a list of languages that might be present in your collection of audio files.
* Automatic language identification chooses a language that best matches the source audio from that
* list.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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);
}
/**
*
* An object containing a list of languages that might be present in your collection of audio files. Automatic
* language identification chooses a language that best matches the source audio from that list.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 An object containing a list of languages that might be present in your collection of audio files.
* Automatic language identification chooses a language that best matches the source audio from that
* list.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a
* sample rate of 16,000 Hz or higher.
*/
public final List languageOptionsAsStrings() {
return languageOptions;
}
/**
*
* Add subtitles to your batch transcription job.
*
*
* @return Add subtitles to your batch transcription job.
*/
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);
}
/**
*
* Add tags to an Amazon Transcribe transcription job.
*
*
* 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 Add tags to an Amazon Transcribe transcription job.
*/
public final List tags() {
return tags;
}
@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(hasLanguageOptions() ? languageOptionsAsStrings() : null);
hashCode = 31 * hashCode + Objects.hashCode(subtitles());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : 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())
&& hasLanguageOptions() == other.hasLanguageOptions()
&& Objects.equals(languageOptionsAsStrings(), other.languageOptionsAsStrings())
&& Objects.equals(subtitles(), other.subtitles()) && hasTags() == other.hasTags()
&& Objects.equals(tags(), other.tags());
}
/**
* 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("LanguageOptions", hasLanguageOptions() ? languageOptionsAsStrings() : null).add("Subtitles", subtitles())
.add("Tags", hasTags() ? tags() : 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 "LanguageOptions":
return Optional.ofNullable(clazz.cast(languageOptionsAsStrings()));
case "Subtitles":
return Optional.ofNullable(clazz.cast(subtitles()));
case "Tags":
return Optional.ofNullable(clazz.cast(tags()));
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 {
/**
*
* The name of the job. You can't use the strings ".
" or "..
" by themselves as the job
* name. The name must also be unique within an Amazon Web Services account. If you try to create a
* transcription job with the same name as a previous transcription job, you get a
* ConflictException
error.
*
*
* @param transcriptionJobName
* The name of the job. You can't use the strings ".
" or "..
" by themselves as
* the job name. The name must also be unique within an Amazon Web Services account. If you try to create
* a transcription job with the same name as a previous transcription 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 for the language used in the input media file.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* @param languageCode
* The language code for the language used in the input media file.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 for the language used in the input media file.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* @param languageCode
* The language code for the language used in the input media file.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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 the input media file.
*
*
* If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you specify the
* sample rate, it must match the sample rate detected by Amazon Transcribe. In most cases, you should leave the
* MediaSampleRateHertz
field blank and let Amazon Transcribe determine the sample rate.
*
*
* @param mediaSampleRateHertz
* The sample rate, in Hertz, of the audio track in the input media file.
*
* If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you
* specify the sample rate, it must match the sample rate detected by Amazon Transcribe. In most cases,
* you should leave the MediaSampleRateHertz
field blank and let Amazon Transcribe determine
* the sample rate.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder mediaSampleRateHertz(Integer mediaSampleRateHertz);
/**
*
* The format of the input media file.
*
*
* @param mediaFormat
* The format of the 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);
/**
*
* The format of the input media file.
*
*
* @param mediaFormat
* The format of the 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);
/**
*
* An object that describes the input media for a transcription job.
*
*
* @param media
* An object that describes the input media for a transcription job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder media(Media media);
/**
*
* An object that describes the input media for a transcription job.
*
* This is a convenience 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 location where the transcription is stored.
*
*
* If you set the OutputBucketName
, Amazon Transcribe puts the transcript in the specified S3
* bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the
* TranscriptFileUri
field. If you enable content redaction, the redacted transcript appears in
* RedactedTranscriptFileUri
. If you enable content redaction and choose to output an unredacted
* transcript, that transcript's location still appears in the TranscriptFileUri
. The S3 bucket
* must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles .
*
*
* You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the output of your
* transcription using the OutputEncryptionKMSKeyId
parameter. If you don't specify a KMS key,
* Amazon Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that are placed in
* your S3 bucket.
*
*
* If you don't set the OutputBucketName
, Amazon Transcribe generates a pre-signed URL, a shareable
* URL that provides secure access to your transcription, and returns it in the TranscriptFileUri
* field. Use this URL to download the transcription.
*
*
* @param outputBucketName
* The location where the transcription is stored.
*
* If you set the OutputBucketName
, Amazon Transcribe puts the transcript in the specified
* S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location
* in the TranscriptFileUri
field. If you enable content redaction, the redacted transcript
* appears in RedactedTranscriptFileUri
. If you enable content redaction and choose to
* output an unredacted transcript, that transcript's location still appears in the
* TranscriptFileUri
. The S3 bucket must have permissions that allow Amazon Transcribe to
* put files in the bucket. For more information, see Permissions Required for IAM User Roles .
*
*
* You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the output of your
* transcription using the OutputEncryptionKMSKeyId
parameter. If you don't specify a KMS
* key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that
* are placed in your S3 bucket.
*
*
* If you don't set the OutputBucketName
, Amazon Transcribe generates a pre-signed URL, a
* shareable URL that provides secure access to your transcription, and returns it in the
* TranscriptFileUri
field. Use this URL to download the transcription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder outputBucketName(String outputBucketName);
/**
*
* You can specify a location in an Amazon S3 bucket to store the output of your transcription job.
*
*
* If you don't specify an output key, Amazon Transcribe stores the output of your transcription job in the
* Amazon S3 bucket you specified. By default, the object key is "your-transcription-job-name.json".
*
*
* You can use output keys to specify the Amazon S3 prefix and file name of the transcription output. For
* example, specifying the Amazon S3 prefix, "folder1/folder2/", as an output key would lead to the output being
* stored as "folder1/folder2/your-transcription-job-name.json". If you specify "my-other-job-name.json" as the
* output key, the object key is changed to "my-other-job-name.json". You can use an output key to change both
* the prefix and the file name, for example "folder/my-other-job-name.json".
*
*
* If you specify an output key, you must also specify an S3 bucket in the OutputBucketName
* parameter.
*
*
* @param outputKey
* You can specify a location in an Amazon S3 bucket to store the output of your transcription job.
*
* If you don't specify an output key, Amazon Transcribe stores the output of your transcription job in
* the Amazon S3 bucket you specified. By default, the object key is "your-transcription-job-name.json".
*
*
* You can use output keys to specify the Amazon S3 prefix and file name of the transcription output. For
* example, specifying the Amazon S3 prefix, "folder1/folder2/", as an output key would lead to the
* output being stored as "folder1/folder2/your-transcription-job-name.json". If you specify
* "my-other-job-name.json" as the output key, the object key is changed to "my-other-job-name.json". You
* can use an output key to change both the prefix and the file name, for example
* "folder/my-other-job-name.json".
*
*
* If you specify an output key, you must also specify an S3 bucket in the OutputBucketName
* parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder outputKey(String outputKey);
/**
*
* The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to encrypt
* the output of the transcription job. The user calling the StartTranscriptionJob
operation must
* have permission to use the specified KMS key.
*
*
* You can use either of the following to identify a KMS key in the current account:
*
*
*
* You can use either of the following to identify a KMS key in the current account or another account:
*
*
*
* If you don't specify an encryption key, the output of the transcription job is encrypted with the default
* Amazon S3 key (SSE-S3).
*
*
* If you specify a KMS key to encrypt your output, you must also specify an output location in the
* OutputBucketName
parameter.
*
*
* @param outputEncryptionKMSKeyId
* The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to
* encrypt the output of the transcription job. The user calling the StartTranscriptionJob
* operation must have permission to use the specified KMS key.
*
* You can use either of the following to identify a KMS key in the current account:
*
*
*
* You can use either of the following to identify a KMS key in the current account or another account:
*
*
*
* If you don't specify an encryption key, the output of the transcription job is encrypted with the
* default Amazon S3 key (SSE-S3).
*
*
* If you specify a KMS key to encrypt your output, you must also specify an output location in the
* OutputBucketName
parameter.
* @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.
*
*
* @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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder kmsEncryptionContext(Map kmsEncryptionContext);
/**
*
* A Settings
object that provides optional settings for a transcription job.
*
*
* @param settings
* A Settings
object that provides optional settings for a transcription job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder settings(Settings settings);
/**
*
* A Settings
object that provides optional settings for a transcription job.
*
* This is a convenience 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());
}
/**
*
* Choose the custom language model you use for your transcription job in this parameter.
*
*
* @param modelSettings
* Choose the custom language model you use for your transcription job in this parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder modelSettings(ModelSettings modelSettings);
/**
*
* Choose the custom language model you use for your transcription job in this parameter.
*
* This is a convenience 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());
}
/**
*
* Provides information about how a transcription job is executed. Use this field to indicate that the job can
* be queued for deferred execution if the concurrency limit is reached and there are no slots available to
* immediately run the job.
*
*
* @param jobExecutionSettings
* Provides information about how a transcription job is executed. Use this field to indicate that the
* job can be queued for deferred execution if the concurrency limit is reached and there are no slots
* available to immediately run the job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder jobExecutionSettings(JobExecutionSettings jobExecutionSettings);
/**
*
* Provides information about how a transcription job is executed. Use this field to indicate that the job can
* be queued for deferred execution if the concurrency limit is reached and there are no slots available to
* immediately run the job.
*
* This is a convenience 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());
}
/**
*
* An object that contains the request parameters for content redaction.
*
*
* @param contentRedaction
* An object that contains the request parameters for content redaction.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder contentRedaction(ContentRedaction contentRedaction);
/**
*
* An object that contains the request parameters for content redaction.
*
* This is a convenience 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());
}
/**
*
* Set this field to true
to enable automatic language identification. Automatic language
* identification is disabled by default. You receive a BadRequestException
error if you enter a
* value for a LanguageCode
.
*
*
* @param identifyLanguage
* Set this field to true
to enable automatic language identification. Automatic language
* identification is disabled by default. You receive a BadRequestException
error if you
* enter a value for a LanguageCode
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder identifyLanguage(Boolean identifyLanguage);
/**
*
* An object containing a list of languages that might be present in your collection of audio files. Automatic
* language identification chooses a language that best matches the source audio from that list.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* An object containing a list of languages that might be present in your collection of audio files.
* Automatic language identification chooses a language that best matches the source audio from that
* list.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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);
/**
*
* An object containing a list of languages that might be present in your collection of audio files. Automatic
* language identification chooses a language that best matches the source audio from that list.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* An object containing a list of languages that might be present in your collection of audio files.
* Automatic language identification chooses a language that best matches the source audio from that
* list.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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);
/**
*
* An object containing a list of languages that might be present in your collection of audio files. Automatic
* language identification chooses a language that best matches the source audio from that list.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* An object containing a list of languages that might be present in your collection of audio files.
* Automatic language identification chooses a language that best matches the source audio from that
* list.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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);
/**
*
* An object containing a list of languages that might be present in your collection of audio files. Automatic
* language identification chooses a language that best matches the source audio from that list.
*
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must be encoded at a sample
* rate of 16,000 Hz or higher.
*
*
* @param languageOptions
* An object containing a list of languages that might be present in your collection of audio files.
* Automatic language identification chooses a language that best matches the source audio from that
* list.
*
* To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video 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);
/**
*
* Add subtitles to your batch transcription job.
*
*
* @param subtitles
* Add subtitles to your batch transcription job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder subtitles(Subtitles subtitles);
/**
*
* Add subtitles to your batch transcription job.
*
* This is a convenience 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());
}
/**
*
* Add tags to an Amazon Transcribe transcription job.
*
*
* @param tags
* Add tags to an Amazon Transcribe transcription job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Collection tags);
/**
*
* Add tags to an Amazon Transcribe transcription job.
*
*
* @param tags
* Add tags to an Amazon Transcribe transcription job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Tag... tags);
/**
*
* Add tags to an Amazon Transcribe transcription job.
*
* This is a convenience 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);
@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 List languageOptions = DefaultSdkAutoConstructList.getInstance();
private Subtitles subtitles;
private List tags = DefaultSdkAutoConstructList.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);
languageOptionsWithStrings(model.languageOptions);
subtitles(model.subtitles);
tags(model.tags);
}
public final String getTranscriptionJobName() {
return transcriptionJobName;
}
public final void setTranscriptionJobName(String transcriptionJobName) {
this.transcriptionJobName = transcriptionJobName;
}
@Override
@Transient
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
@Transient
public final Builder languageCode(String languageCode) {
this.languageCode = languageCode;
return this;
}
@Override
@Transient
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
@Transient
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
@Transient
public final Builder mediaFormat(String mediaFormat) {
this.mediaFormat = mediaFormat;
return this;
}
@Override
@Transient
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
@Transient
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
@Transient
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
@Transient
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
@Transient
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
@Transient
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
@Transient
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
@Transient
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
@Transient
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
@Transient
public final Builder identifyLanguage(Boolean identifyLanguage) {
this.identifyLanguage = identifyLanguage;
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
@Transient
public final Builder languageOptionsWithStrings(Collection languageOptions) {
this.languageOptions = LanguageOptionsCopier.copy(languageOptions);
return this;
}
@Override
@Transient
@SafeVarargs
public final Builder languageOptionsWithStrings(String... languageOptions) {
languageOptionsWithStrings(Arrays.asList(languageOptions));
return this;
}
@Override
@Transient
public final Builder languageOptions(Collection languageOptions) {
this.languageOptions = LanguageOptionsCopier.copyEnumToString(languageOptions);
return this;
}
@Override
@Transient
@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
@Transient
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
@Transient
public final Builder tags(Collection tags) {
this.tags = TagListCopier.copy(tags);
return this;
}
@Override
@Transient
@SafeVarargs
public final Builder tags(Tag... tags) {
tags(Arrays.asList(tags));
return this;
}
@Override
@Transient
@SafeVarargs
public final Builder tags(Consumer... tags) {
tags(Stream.of(tags).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList()));
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;
}
}
}