/* * Copyright 2010-2023 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 com.amazonaws.services.transcribe.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* Creates a new custom language model. *

*

* When creating a new custom language model, you must specify: *

* */ public class CreateLanguageModelRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The language code that represents the language of your model. Each custom * language model must contain terms in only one language, and the language * you select for your custom language model must match the language of your * training and tuning data. *

*

* For a list of supported languages and their associated language codes, * refer to the Supported languages table. Note that US English (en-US) * is the only language supported with Amazon Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in the same * language as the model. For example, if you create a custom language model * using US English (en-US), you can only apply this model to * files that contain English audio. *

*

* Constraints:
* Allowed Values: en-US, hi-IN, es-US, en-GB, en-AU, de-DE, ja-JP */ private String languageCode; /** *

* The Amazon Transcribe standard language model, or base model, used to * create your custom language model. Amazon Transcribe offers two options * for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 Hz or * greater, choose WideBand. To transcribe audio with a sample * rate less than 16,000 Hz, choose NarrowBand. *

*

* Constraints:
* Allowed Values: NarrowBand, WideBand */ private String baseModelName; /** *

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom * language model with the same name as an existing custom language model, * you get a ConflictException error. *

*

* Constraints:
* Length: 1 - 200
* Pattern: ^[0-9a-zA-Z._-]+
*/ private String modelName; /** *

* Contains the Amazon S3 location of the training data you want to use to * create a new custom language model, and permissions to access this * location. *

*

* When using InputDataConfig, you must include these * sub-parameters: S3Uri, which is the Amazon S3 location of * your training data, and DataAccessRoleArn, which is the * Amazon Resource Name (ARN) of the role that has permission to access your * specified Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location of your * tuning data. If you specify different Amazon S3 locations for training * and tuning data, the ARN you use must have permissions to access both * locations. *

*/ private InputDataConfig inputDataConfig; /** *

* Adds one or more custom tags, each in the form of a key:value pair, to a * new custom language model at the time you create this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer to Tagging resources. *

*/ private java.util.List tags; /** *

* The language code that represents the language of your model. Each custom * language model must contain terms in only one language, and the language * you select for your custom language model must match the language of your * training and tuning data. *

*

* For a list of supported languages and their associated language codes, * refer to the Supported languages table. Note that US English (en-US) * is the only language supported with Amazon Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in the same * language as the model. For example, if you create a custom language model * using US English (en-US), you can only apply this model to * files that contain English audio. *

*

* Constraints:
* Allowed Values: en-US, hi-IN, es-US, en-GB, en-AU, de-DE, ja-JP * * @return

* The language code that represents the language of your model. * Each custom language model must contain terms in only one * language, and the language you select for your custom language * model must match the language of your training and tuning data. *

*

* For a list of supported languages and their associated language * codes, refer to the Supported languages table. Note that US English ( * en-US) is the only language supported with Amazon * Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in * the same language as the model. For example, if you create a * custom language model using US English (en-US), you * can only apply this model to files that contain English audio. *

* @see CLMLanguageCode */ public String getLanguageCode() { return languageCode; } /** *

* The language code that represents the language of your model. Each custom * language model must contain terms in only one language, and the language * you select for your custom language model must match the language of your * training and tuning data. *

*

* For a list of supported languages and their associated language codes, * refer to the Supported languages table. Note that US English (en-US) * is the only language supported with Amazon Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in the same * language as the model. For example, if you create a custom language model * using US English (en-US), you can only apply this model to * files that contain English audio. *

*

* Constraints:
* Allowed Values: en-US, hi-IN, es-US, en-GB, en-AU, de-DE, ja-JP * * @param languageCode

* The language code that represents the language of your model. * Each custom language model must contain terms in only one * language, and the language you select for your custom language * model must match the language of your training and tuning * data. *

*

* For a list of supported languages and their associated * language codes, refer to the Supported languages table. Note that US English ( * en-US) is the only language supported with Amazon * Transcribe Medical. *

*

* A custom language model can only be used to transcribe files * in the same language as the model. For example, if you create * a custom language model using US English (en-US), * you can only apply this model to files that contain English * audio. *

* @see CLMLanguageCode */ public void setLanguageCode(String languageCode) { this.languageCode = languageCode; } /** *

* The language code that represents the language of your model. Each custom * language model must contain terms in only one language, and the language * you select for your custom language model must match the language of your * training and tuning data. *

*

* For a list of supported languages and their associated language codes, * refer to the Supported languages table. Note that US English (en-US) * is the only language supported with Amazon Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in the same * language as the model. For example, if you create a custom language model * using US English (en-US), you can only apply this model to * files that contain English audio. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Allowed Values: en-US, hi-IN, es-US, en-GB, en-AU, de-DE, ja-JP * * @param languageCode

* The language code that represents the language of your model. * Each custom language model must contain terms in only one * language, and the language you select for your custom language * model must match the language of your training and tuning * data. *

*

* For a list of supported languages and their associated * language codes, refer to the Supported languages table. Note that US English ( * en-US) is the only language supported with Amazon * Transcribe Medical. *

*

* A custom language model can only be used to transcribe files * in the same language as the model. For example, if you create * a custom language model using US English (en-US), * you can only apply this model to files that contain English * audio. *

* @return A reference to this updated object so that method calls can be * chained together. * @see CLMLanguageCode */ public CreateLanguageModelRequest withLanguageCode(String languageCode) { this.languageCode = languageCode; return this; } /** *

* The language code that represents the language of your model. Each custom * language model must contain terms in only one language, and the language * you select for your custom language model must match the language of your * training and tuning data. *

*

* For a list of supported languages and their associated language codes, * refer to the Supported languages table. Note that US English (en-US) * is the only language supported with Amazon Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in the same * language as the model. For example, if you create a custom language model * using US English (en-US), you can only apply this model to * files that contain English audio. *

*

* Constraints:
* Allowed Values: en-US, hi-IN, es-US, en-GB, en-AU, de-DE, ja-JP * * @param languageCode

* The language code that represents the language of your model. * Each custom language model must contain terms in only one * language, and the language you select for your custom language * model must match the language of your training and tuning * data. *

*

* For a list of supported languages and their associated * language codes, refer to the Supported languages table. Note that US English ( * en-US) is the only language supported with Amazon * Transcribe Medical. *

*

* A custom language model can only be used to transcribe files * in the same language as the model. For example, if you create * a custom language model using US English (en-US), * you can only apply this model to files that contain English * audio. *

* @see CLMLanguageCode */ public void setLanguageCode(CLMLanguageCode languageCode) { this.languageCode = languageCode.toString(); } /** *

* The language code that represents the language of your model. Each custom * language model must contain terms in only one language, and the language * you select for your custom language model must match the language of your * training and tuning data. *

*

* For a list of supported languages and their associated language codes, * refer to the Supported languages table. Note that US English (en-US) * is the only language supported with Amazon Transcribe Medical. *

*

* A custom language model can only be used to transcribe files in the same * language as the model. For example, if you create a custom language model * using US English (en-US), you can only apply this model to * files that contain English audio. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Allowed Values: en-US, hi-IN, es-US, en-GB, en-AU, de-DE, ja-JP * * @param languageCode

* The language code that represents the language of your model. * Each custom language model must contain terms in only one * language, and the language you select for your custom language * model must match the language of your training and tuning * data. *

*

* For a list of supported languages and their associated * language codes, refer to the Supported languages table. Note that US English ( * en-US) is the only language supported with Amazon * Transcribe Medical. *

*

* A custom language model can only be used to transcribe files * in the same language as the model. For example, if you create * a custom language model using US English (en-US), * you can only apply this model to files that contain English * audio. *

* @return A reference to this updated object so that method calls can be * chained together. * @see CLMLanguageCode */ public CreateLanguageModelRequest withLanguageCode(CLMLanguageCode languageCode) { this.languageCode = languageCode.toString(); return this; } /** *

* The Amazon Transcribe standard language model, or base model, used to * create your custom language model. Amazon Transcribe offers two options * for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 Hz or * greater, choose WideBand. To transcribe audio with a sample * rate less than 16,000 Hz, choose NarrowBand. *

*

* Constraints:
* Allowed Values: NarrowBand, WideBand * * @return

* The Amazon Transcribe standard language model, or base model, * used to create your custom language model. Amazon Transcribe * offers two options for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 * Hz or greater, choose WideBand. To transcribe audio * with a sample rate less than 16,000 Hz, choose * NarrowBand. *

* @see BaseModelName */ public String getBaseModelName() { return baseModelName; } /** *

* The Amazon Transcribe standard language model, or base model, used to * create your custom language model. Amazon Transcribe offers two options * for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 Hz or * greater, choose WideBand. To transcribe audio with a sample * rate less than 16,000 Hz, choose NarrowBand. *

*

* Constraints:
* Allowed Values: NarrowBand, WideBand * * @param baseModelName

* The Amazon Transcribe standard language model, or base model, * used to create your custom language model. Amazon Transcribe * offers two options for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of * 16,000 Hz or greater, choose WideBand. To * transcribe audio with a sample rate less than 16,000 Hz, * choose NarrowBand. *

* @see BaseModelName */ public void setBaseModelName(String baseModelName) { this.baseModelName = baseModelName; } /** *

* The Amazon Transcribe standard language model, or base model, used to * create your custom language model. Amazon Transcribe offers two options * for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 Hz or * greater, choose WideBand. To transcribe audio with a sample * rate less than 16,000 Hz, choose NarrowBand. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Allowed Values: NarrowBand, WideBand * * @param baseModelName

* The Amazon Transcribe standard language model, or base model, * used to create your custom language model. Amazon Transcribe * offers two options for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of * 16,000 Hz or greater, choose WideBand. To * transcribe audio with a sample rate less than 16,000 Hz, * choose NarrowBand. *

* @return A reference to this updated object so that method calls can be * chained together. * @see BaseModelName */ public CreateLanguageModelRequest withBaseModelName(String baseModelName) { this.baseModelName = baseModelName; return this; } /** *

* The Amazon Transcribe standard language model, or base model, used to * create your custom language model. Amazon Transcribe offers two options * for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 Hz or * greater, choose WideBand. To transcribe audio with a sample * rate less than 16,000 Hz, choose NarrowBand. *

*

* Constraints:
* Allowed Values: NarrowBand, WideBand * * @param baseModelName

* The Amazon Transcribe standard language model, or base model, * used to create your custom language model. Amazon Transcribe * offers two options for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of * 16,000 Hz or greater, choose WideBand. To * transcribe audio with a sample rate less than 16,000 Hz, * choose NarrowBand. *

* @see BaseModelName */ public void setBaseModelName(BaseModelName baseModelName) { this.baseModelName = baseModelName.toString(); } /** *

* The Amazon Transcribe standard language model, or base model, used to * create your custom language model. Amazon Transcribe offers two options * for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of 16,000 Hz or * greater, choose WideBand. To transcribe audio with a sample * rate less than 16,000 Hz, choose NarrowBand. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Allowed Values: NarrowBand, WideBand * * @param baseModelName

* The Amazon Transcribe standard language model, or base model, * used to create your custom language model. Amazon Transcribe * offers two options for base models: Wideband and Narrowband. *

*

* If the audio you want to transcribe has a sample rate of * 16,000 Hz or greater, choose WideBand. To * transcribe audio with a sample rate less than 16,000 Hz, * choose NarrowBand. *

* @return A reference to this updated object so that method calls can be * chained together. * @see BaseModelName */ public CreateLanguageModelRequest withBaseModelName(BaseModelName baseModelName) { this.baseModelName = baseModelName.toString(); return this; } /** *

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom * language model with the same name as an existing custom language model, * you get a ConflictException error. *

*

* Constraints:
* Length: 1 - 200
* Pattern: ^[0-9a-zA-Z._-]+
* * @return

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom language model with the same name as an * existing custom language model, you get a * ConflictException error. *

*/ public String getModelName() { return modelName; } /** *

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom * language model with the same name as an existing custom language model, * you get a ConflictException error. *

*

* Constraints:
* Length: 1 - 200
* Pattern: ^[0-9a-zA-Z._-]+
* * @param modelName

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom language model with the same name as an * existing custom language model, you get a * ConflictException error. *

*/ public void setModelName(String modelName) { this.modelName = modelName; } /** *

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom * language model with the same name as an existing custom language model, * you get a ConflictException error. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 200
* Pattern: ^[0-9a-zA-Z._-]+
* * @param modelName

* A unique name, chosen by you, for your custom language model. *

*

* 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 custom language model with the same name as an * existing custom language model, you get a * ConflictException error. *

* @return A reference to this updated object so that method calls can be * chained together. */ public CreateLanguageModelRequest withModelName(String modelName) { this.modelName = modelName; return this; } /** *

* Contains the Amazon S3 location of the training data you want to use to * create a new custom language model, and permissions to access this * location. *

*

* When using InputDataConfig, you must include these * sub-parameters: S3Uri, which is the Amazon S3 location of * your training data, and DataAccessRoleArn, which is the * Amazon Resource Name (ARN) of the role that has permission to access your * specified Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location of your * tuning data. If you specify different Amazon S3 locations for training * and tuning data, the ARN you use must have permissions to access both * locations. *

* * @return

* Contains the Amazon S3 location of the training data you want to * use to create a new custom language model, and permissions to * access this location. *

*

* When using InputDataConfig, you must include these * sub-parameters: S3Uri, which is the Amazon S3 * location of your training data, and * DataAccessRoleArn, which is the Amazon Resource Name * (ARN) of the role that has permission to access your specified * Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location of * your tuning data. If you specify different Amazon S3 locations * for training and tuning data, the ARN you use must have * permissions to access both locations. *

*/ public InputDataConfig getInputDataConfig() { return inputDataConfig; } /** *

* Contains the Amazon S3 location of the training data you want to use to * create a new custom language model, and permissions to access this * location. *

*

* When using InputDataConfig, you must include these * sub-parameters: S3Uri, which is the Amazon S3 location of * your training data, and DataAccessRoleArn, which is the * Amazon Resource Name (ARN) of the role that has permission to access your * specified Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location of your * tuning data. If you specify different Amazon S3 locations for training * and tuning data, the ARN you use must have permissions to access both * locations. *

* * @param inputDataConfig

* Contains the Amazon S3 location of the training data you want * to use to create a new custom language model, and permissions * to access this location. *

*

* When using InputDataConfig, you must include * these sub-parameters: S3Uri, which is the Amazon * S3 location of your training data, and * DataAccessRoleArn, which is the Amazon Resource * Name (ARN) of the role that has permission to access your * specified Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location * of your tuning data. If you specify different Amazon S3 * locations for training and tuning data, the ARN you use must * have permissions to access both locations. *

*/ public void setInputDataConfig(InputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; } /** *

* Contains the Amazon S3 location of the training data you want to use to * create a new custom language model, and permissions to access this * location. *

*

* When using InputDataConfig, you must include these * sub-parameters: S3Uri, which is the Amazon S3 location of * your training data, and DataAccessRoleArn, which is the * Amazon Resource Name (ARN) of the role that has permission to access your * specified Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location of your * tuning data. If you specify different Amazon S3 locations for training * and tuning data, the ARN you use must have permissions to access both * locations. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param inputDataConfig

* Contains the Amazon S3 location of the training data you want * to use to create a new custom language model, and permissions * to access this location. *

*

* When using InputDataConfig, you must include * these sub-parameters: S3Uri, which is the Amazon * S3 location of your training data, and * DataAccessRoleArn, which is the Amazon Resource * Name (ARN) of the role that has permission to access your * specified Amazon S3 location. You can optionally include * TuningDataS3Uri, which is the Amazon S3 location * of your tuning data. If you specify different Amazon S3 * locations for training and tuning data, the ARN you use must * have permissions to access both locations. *

* @return A reference to this updated object so that method calls can be * chained together. */ public CreateLanguageModelRequest withInputDataConfig(InputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; return this; } /** *

* Adds one or more custom tags, each in the form of a key:value pair, to a * new custom language model at the time you create this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer to Tagging resources. *

* * @return

* Adds one or more custom tags, each in the form of a key:value * pair, to a new custom language model at the time you create this * new model. *

*

* To learn more about using tags with Amazon Transcribe, refer to * Tagging resources. *

*/ public java.util.List getTags() { return tags; } /** *

* Adds one or more custom tags, each in the form of a key:value pair, to a * new custom language model at the time you create this new model. *

*

* 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 custom language model at the time you create * this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer * to Tagging resources. *

*/ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

* Adds one or more custom tags, each in the form of a key:value pair, to a * new custom language model at the time you create this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer to Tagging resources. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param tags

* Adds one or more custom tags, each in the form of a key:value * pair, to a new custom language model at the time you create * this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer * to Tagging resources. *

* @return A reference to this updated object so that method calls can be * chained together. */ public CreateLanguageModelRequest withTags(Tag... tags) { if (getTags() == null) { this.tags = new java.util.ArrayList(tags.length); } for (Tag value : tags) { this.tags.add(value); } return this; } /** *

* Adds one or more custom tags, each in the form of a key:value pair, to a * new custom language model at the time you create this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer to Tagging resources. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param tags

* Adds one or more custom tags, each in the form of a key:value * pair, to a new custom language model at the time you create * this new model. *

*

* To learn more about using tags with Amazon Transcribe, refer * to Tagging resources. *

* @return A reference to this updated object so that method calls can be * chained together. */ public CreateLanguageModelRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getLanguageCode() != null) sb.append("LanguageCode: " + getLanguageCode() + ","); if (getBaseModelName() != null) sb.append("BaseModelName: " + getBaseModelName() + ","); if (getModelName() != null) sb.append("ModelName: " + getModelName() + ","); if (getInputDataConfig() != null) sb.append("InputDataConfig: " + getInputDataConfig() + ","); if (getTags() != null) sb.append("Tags: " + getTags()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getLanguageCode() == null) ? 0 : getLanguageCode().hashCode()); hashCode = prime * hashCode + ((getBaseModelName() == null) ? 0 : getBaseModelName().hashCode()); hashCode = prime * hashCode + ((getModelName() == null) ? 0 : getModelName().hashCode()); hashCode = prime * hashCode + ((getInputDataConfig() == null) ? 0 : getInputDataConfig().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateLanguageModelRequest == false) return false; CreateLanguageModelRequest other = (CreateLanguageModelRequest) obj; if (other.getLanguageCode() == null ^ this.getLanguageCode() == null) return false; if (other.getLanguageCode() != null && other.getLanguageCode().equals(this.getLanguageCode()) == false) return false; if (other.getBaseModelName() == null ^ this.getBaseModelName() == null) return false; if (other.getBaseModelName() != null && other.getBaseModelName().equals(this.getBaseModelName()) == false) return false; if (other.getModelName() == null ^ this.getModelName() == null) return false; if (other.getModelName() != null && other.getModelName().equals(this.getModelName()) == false) return false; if (other.getInputDataConfig() == null ^ this.getInputDataConfig() == null) return false; if (other.getInputDataConfig() != null && other.getInputDataConfig().equals(this.getInputDataConfig()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; return true; } }