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

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline const Aws::String& GetVocabularyName() const{ return m_vocabularyName; } /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline bool VocabularyNameHasBeenSet() const { return m_vocabularyNameHasBeenSet; } /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline void SetVocabularyName(const Aws::String& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = value; } /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline void SetVocabularyName(Aws::String&& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = std::move(value); } /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline void SetVocabularyName(const char* value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName.assign(value); } /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline UpdateVocabularyRequest& WithVocabularyName(const Aws::String& value) { SetVocabularyName(value); return *this;} /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline UpdateVocabularyRequest& WithVocabularyName(Aws::String&& value) { SetVocabularyName(std::move(value)); return *this;} /** *

The name of the custom vocabulary you want to update. Custom vocabulary names * are case sensitive.

*/ inline UpdateVocabularyRequest& WithVocabularyName(const char* value) { SetVocabularyName(value); return *this;} /** *

The language code that represents the language of the entries in the custom * vocabulary you want to update. Each custom vocabulary must contain terms in only * one language.

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

For a list of supported * languages and their associated language codes, refer to the Supported * languages table.

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

The language code that represents the language of the entries in the custom * vocabulary you want to update. Each custom vocabulary must contain terms in only * one language.

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

For a list of supported * languages and their associated language codes, refer to the Supported * languages table.

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

The language code that represents the language of the entries in the custom * vocabulary you want to update. Each custom vocabulary must contain terms in only * one language.

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

For a list of supported * languages and their associated language codes, refer to the Supported * languages table.

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

The language code that represents the language of the entries in the custom * vocabulary you want to update. Each custom vocabulary must contain terms in only * one language.

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

For a list of supported * languages and their associated language codes, refer to the Supported * languages table.

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

The language code that represents the language of the entries in the custom * vocabulary you want to update. Each custom vocabulary must contain terms in only * one language.

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

For a list of supported * languages and their associated language codes, refer to the Supported * languages table.

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

The language code that represents the language of the entries in the custom * vocabulary you want to update. Each custom vocabulary must contain terms in only * one language.

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

For a list of supported * languages and their associated language codes, refer to the Supported * languages table.

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

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline const Aws::Vector& GetPhrases() const{ return m_phrases; } /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline bool PhrasesHasBeenSet() const { return m_phrasesHasBeenSet; } /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline void SetPhrases(const Aws::Vector& value) { m_phrasesHasBeenSet = true; m_phrases = value; } /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline void SetPhrases(Aws::Vector&& value) { m_phrasesHasBeenSet = true; m_phrases = std::move(value); } /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline UpdateVocabularyRequest& WithPhrases(const Aws::Vector& value) { SetPhrases(value); return *this;} /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline UpdateVocabularyRequest& WithPhrases(Aws::Vector&& value) { SetPhrases(std::move(value)); return *this;} /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline UpdateVocabularyRequest& AddPhrases(const Aws::String& value) { m_phrasesHasBeenSet = true; m_phrases.push_back(value); return *this; } /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline UpdateVocabularyRequest& AddPhrases(Aws::String&& value) { m_phrasesHasBeenSet = true; m_phrases.push_back(std::move(value)); return *this; } /** *

Use this parameter if you want to update your custom vocabulary by including * all desired terms, as comma-separated values, within your request. The other * option for updating your custom vocabulary is to save your entries in a text * file and upload them to an Amazon S3 bucket, then specify the location of your * file using the VocabularyFileUri parameter.

Note that if you * include Phrases in your request, you cannot use * VocabularyFileUri; you must choose one or the other.

Each * language has a character set that contains all allowed characters for that * specific language. If you use unsupported characters, your custom vocabulary * filter request fails. Refer to Character * Sets for Custom Vocabularies to get the character set for your language.

*/ inline UpdateVocabularyRequest& AddPhrases(const char* value) { m_phrasesHasBeenSet = true; m_phrases.push_back(value); return *this; } /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline const Aws::String& GetVocabularyFileUri() const{ return m_vocabularyFileUri; } /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline bool VocabularyFileUriHasBeenSet() const { return m_vocabularyFileUriHasBeenSet; } /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline void SetVocabularyFileUri(const Aws::String& value) { m_vocabularyFileUriHasBeenSet = true; m_vocabularyFileUri = value; } /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline void SetVocabularyFileUri(Aws::String&& value) { m_vocabularyFileUriHasBeenSet = true; m_vocabularyFileUri = std::move(value); } /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline void SetVocabularyFileUri(const char* value) { m_vocabularyFileUriHasBeenSet = true; m_vocabularyFileUri.assign(value); } /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline UpdateVocabularyRequest& WithVocabularyFileUri(const Aws::String& value) { SetVocabularyFileUri(value); return *this;} /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline UpdateVocabularyRequest& WithVocabularyFileUri(Aws::String&& value) { SetVocabularyFileUri(std::move(value)); return *this;} /** *

The Amazon S3 location of the text file that contains your custom vocabulary. * The URI must be located in the same Amazon Web Services Region as the resource * you're calling.

Here's an example URI path: * s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you * include VocabularyFileUri in your request, you cannot use the * Phrases flag; you must choose one or the other.

*/ inline UpdateVocabularyRequest& WithVocabularyFileUri(const char* value) { SetVocabularyFileUri(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; } /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; } /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline UpdateVocabularyRequest& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline UpdateVocabularyRequest& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that has permissions to access * the Amazon S3 bucket that contains your input files (in this case, your custom * vocabulary). If the role that you specify doesn’t have the appropriate * permissions to access the specified Amazon S3 location, your request fails.

*

IAM role ARNs have the format * arn:partition:iam::account:role/role-name-with-path. For example: * arn:aws:iam::111122223333:role/Admin.

For more information, * see IAM * ARNs.

*/ inline UpdateVocabularyRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;} private: Aws::String m_vocabularyName; bool m_vocabularyNameHasBeenSet = false; LanguageCode m_languageCode; bool m_languageCodeHasBeenSet = false; Aws::Vector m_phrases; bool m_phrasesHasBeenSet = false; Aws::String m_vocabularyFileUri; bool m_vocabularyFileUriHasBeenSet = false; Aws::String m_dataAccessRoleArn; bool m_dataAccessRoleArnHasBeenSet = false; }; } // namespace Model } // namespace TranscribeService } // namespace Aws