/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Polly { namespace Model { /** */ class StartSpeechSynthesisTaskRequest : public PollyRequest { public: AWS_POLLY_API StartSpeechSynthesisTaskRequest(); // 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 "StartSpeechSynthesisTask"; } AWS_POLLY_API Aws::String SerializePayload() const override; /** *

Specifies the engine (standard or neural) for * Amazon Polly to use when processing input text for speech synthesis. Using a * voice that is not supported for the engine selected will result in an error.

*/ inline const Engine& GetEngine() const{ return m_engine; } /** *

Specifies the engine (standard or neural) for * Amazon Polly to use when processing input text for speech synthesis. Using a * voice that is not supported for the engine selected will result in an error.

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

Specifies the engine (standard or neural) for * Amazon Polly to use when processing input text for speech synthesis. Using a * voice that is not supported for the engine selected will result in an error.

*/ inline void SetEngine(const Engine& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

Specifies the engine (standard or neural) for * Amazon Polly to use when processing input text for speech synthesis. Using a * voice that is not supported for the engine selected will result in an error.

*/ inline void SetEngine(Engine&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

Specifies the engine (standard or neural) for * Amazon Polly to use when processing input text for speech synthesis. Using a * voice that is not supported for the engine selected will result in an error.

*/ inline StartSpeechSynthesisTaskRequest& WithEngine(const Engine& value) { SetEngine(value); return *this;} /** *

Specifies the engine (standard or neural) for * Amazon Polly to use when processing input text for speech synthesis. Using a * voice that is not supported for the engine selected will result in an error.

*/ inline StartSpeechSynthesisTaskRequest& WithEngine(Engine&& value) { SetEngine(std::move(value)); return *this;} /** *

Optional language code for the Speech Synthesis request. This is only * necessary if using a bilingual voice, such as Aditi, which can be used for * either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is * used and no language code is specified, Amazon Polly uses the default language * of the bilingual voice. The default language for any voice is the one returned * by the DescribeVoices * operation for the LanguageCode parameter. For example, if no * language code is specified, Aditi will use Indian English rather than Hindi.

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

Optional language code for the Speech Synthesis request. This is only * necessary if using a bilingual voice, such as Aditi, which can be used for * either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is * used and no language code is specified, Amazon Polly uses the default language * of the bilingual voice. The default language for any voice is the one returned * by the DescribeVoices * operation for the LanguageCode parameter. For example, if no * language code is specified, Aditi will use Indian English rather than Hindi.

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

Optional language code for the Speech Synthesis request. This is only * necessary if using a bilingual voice, such as Aditi, which can be used for * either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is * used and no language code is specified, Amazon Polly uses the default language * of the bilingual voice. The default language for any voice is the one returned * by the DescribeVoices * operation for the LanguageCode parameter. For example, if no * language code is specified, Aditi will use Indian English rather than Hindi.

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

Optional language code for the Speech Synthesis request. This is only * necessary if using a bilingual voice, such as Aditi, which can be used for * either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is * used and no language code is specified, Amazon Polly uses the default language * of the bilingual voice. The default language for any voice is the one returned * by the DescribeVoices * operation for the LanguageCode parameter. For example, if no * language code is specified, Aditi will use Indian English rather than Hindi.

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

Optional language code for the Speech Synthesis request. This is only * necessary if using a bilingual voice, such as Aditi, which can be used for * either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is * used and no language code is specified, Amazon Polly uses the default language * of the bilingual voice. The default language for any voice is the one returned * by the DescribeVoices * operation for the LanguageCode parameter. For example, if no * language code is specified, Aditi will use Indian English rather than Hindi.

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

Optional language code for the Speech Synthesis request. This is only * necessary if using a bilingual voice, such as Aditi, which can be used for * either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is * used and no language code is specified, Amazon Polly uses the default language * of the bilingual voice. The default language for any voice is the one returned * by the DescribeVoices * operation for the LanguageCode parameter. For example, if no * language code is specified, Aditi will use Indian English rather than Hindi.

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

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline const Aws::Vector& GetLexiconNames() const{ return m_lexiconNames; } /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline bool LexiconNamesHasBeenSet() const { return m_lexiconNamesHasBeenSet; } /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline void SetLexiconNames(const Aws::Vector& value) { m_lexiconNamesHasBeenSet = true; m_lexiconNames = value; } /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline void SetLexiconNames(Aws::Vector&& value) { m_lexiconNamesHasBeenSet = true; m_lexiconNames = std::move(value); } /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline StartSpeechSynthesisTaskRequest& WithLexiconNames(const Aws::Vector& value) { SetLexiconNames(value); return *this;} /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline StartSpeechSynthesisTaskRequest& WithLexiconNames(Aws::Vector&& value) { SetLexiconNames(std::move(value)); return *this;} /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline StartSpeechSynthesisTaskRequest& AddLexiconNames(const Aws::String& value) { m_lexiconNamesHasBeenSet = true; m_lexiconNames.push_back(value); return *this; } /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline StartSpeechSynthesisTaskRequest& AddLexiconNames(Aws::String&& value) { m_lexiconNamesHasBeenSet = true; m_lexiconNames.push_back(std::move(value)); return *this; } /** *

List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is * the same as the language of the voice.

*/ inline StartSpeechSynthesisTaskRequest& AddLexiconNames(const char* value) { m_lexiconNamesHasBeenSet = true; m_lexiconNames.push_back(value); return *this; } /** *

The format in which the returned output will be encoded. For audio stream, * this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

*/ inline const OutputFormat& GetOutputFormat() const{ return m_outputFormat; } /** *

The format in which the returned output will be encoded. For audio stream, * this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

*/ inline bool OutputFormatHasBeenSet() const { return m_outputFormatHasBeenSet; } /** *

The format in which the returned output will be encoded. For audio stream, * this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

*/ inline void SetOutputFormat(const OutputFormat& value) { m_outputFormatHasBeenSet = true; m_outputFormat = value; } /** *

The format in which the returned output will be encoded. For audio stream, * this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

*/ inline void SetOutputFormat(OutputFormat&& value) { m_outputFormatHasBeenSet = true; m_outputFormat = std::move(value); } /** *

The format in which the returned output will be encoded. For audio stream, * this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputFormat(const OutputFormat& value) { SetOutputFormat(value); return *this;} /** *

The format in which the returned output will be encoded. For audio stream, * this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputFormat(OutputFormat&& value) { SetOutputFormat(std::move(value)); return *this;} /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline const Aws::String& GetOutputS3BucketName() const{ return m_outputS3BucketName; } /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline bool OutputS3BucketNameHasBeenSet() const { return m_outputS3BucketNameHasBeenSet; } /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline void SetOutputS3BucketName(const Aws::String& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = value; } /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline void SetOutputS3BucketName(Aws::String&& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = std::move(value); } /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline void SetOutputS3BucketName(const char* value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName.assign(value); } /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputS3BucketName(const Aws::String& value) { SetOutputS3BucketName(value); return *this;} /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputS3BucketName(Aws::String&& value) { SetOutputS3BucketName(std::move(value)); return *this;} /** *

Amazon S3 bucket name to which the output file will be saved.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputS3BucketName(const char* value) { SetOutputS3BucketName(value); return *this;} /** *

The Amazon S3 key prefix for the output speech file.

*/ inline const Aws::String& GetOutputS3KeyPrefix() const{ return m_outputS3KeyPrefix; } /** *

The Amazon S3 key prefix for the output speech file.

*/ inline bool OutputS3KeyPrefixHasBeenSet() const { return m_outputS3KeyPrefixHasBeenSet; } /** *

The Amazon S3 key prefix for the output speech file.

*/ inline void SetOutputS3KeyPrefix(const Aws::String& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = value; } /** *

The Amazon S3 key prefix for the output speech file.

*/ inline void SetOutputS3KeyPrefix(Aws::String&& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = std::move(value); } /** *

The Amazon S3 key prefix for the output speech file.

*/ inline void SetOutputS3KeyPrefix(const char* value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix.assign(value); } /** *

The Amazon S3 key prefix for the output speech file.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputS3KeyPrefix(const Aws::String& value) { SetOutputS3KeyPrefix(value); return *this;} /** *

The Amazon S3 key prefix for the output speech file.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputS3KeyPrefix(Aws::String&& value) { SetOutputS3KeyPrefix(std::move(value)); return *this;} /** *

The Amazon S3 key prefix for the output speech file.

*/ inline StartSpeechSynthesisTaskRequest& WithOutputS3KeyPrefix(const char* value) { SetOutputS3KeyPrefix(value); return *this;} /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline const Aws::String& GetSampleRate() const{ return m_sampleRate; } /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline bool SampleRateHasBeenSet() const { return m_sampleRateHasBeenSet; } /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline void SetSampleRate(const Aws::String& value) { m_sampleRateHasBeenSet = true; m_sampleRate = value; } /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline void SetSampleRate(Aws::String&& value) { m_sampleRateHasBeenSet = true; m_sampleRate = std::move(value); } /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline void SetSampleRate(const char* value) { m_sampleRateHasBeenSet = true; m_sampleRate.assign(value); } /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline StartSpeechSynthesisTaskRequest& WithSampleRate(const Aws::String& value) { SetSampleRate(value); return *this;} /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline StartSpeechSynthesisTaskRequest& WithSampleRate(Aws::String&& value) { SetSampleRate(std::move(value)); return *this;} /** *

The audio frequency specified in Hz.

The valid values for mp3 and * ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for * standard voices is "22050". The default value for neural voices is "24000".

*

Valid values for pcm are "8000" and "16000" The default value is "16000". *

*/ inline StartSpeechSynthesisTaskRequest& WithSampleRate(const char* value) { SetSampleRate(value); return *this;} /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; } /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; } /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; } /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); } /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); } /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline StartSpeechSynthesisTaskRequest& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;} /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline StartSpeechSynthesisTaskRequest& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;} /** *

ARN for the SNS topic optionally used for providing status notification for a * speech synthesis task.

*/ inline StartSpeechSynthesisTaskRequest& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;} /** *

The type of speech marks returned for the input text.

*/ inline const Aws::Vector& GetSpeechMarkTypes() const{ return m_speechMarkTypes; } /** *

The type of speech marks returned for the input text.

*/ inline bool SpeechMarkTypesHasBeenSet() const { return m_speechMarkTypesHasBeenSet; } /** *

The type of speech marks returned for the input text.

*/ inline void SetSpeechMarkTypes(const Aws::Vector& value) { m_speechMarkTypesHasBeenSet = true; m_speechMarkTypes = value; } /** *

The type of speech marks returned for the input text.

*/ inline void SetSpeechMarkTypes(Aws::Vector&& value) { m_speechMarkTypesHasBeenSet = true; m_speechMarkTypes = std::move(value); } /** *

The type of speech marks returned for the input text.

*/ inline StartSpeechSynthesisTaskRequest& WithSpeechMarkTypes(const Aws::Vector& value) { SetSpeechMarkTypes(value); return *this;} /** *

The type of speech marks returned for the input text.

*/ inline StartSpeechSynthesisTaskRequest& WithSpeechMarkTypes(Aws::Vector&& value) { SetSpeechMarkTypes(std::move(value)); return *this;} /** *

The type of speech marks returned for the input text.

*/ inline StartSpeechSynthesisTaskRequest& AddSpeechMarkTypes(const SpeechMarkType& value) { m_speechMarkTypesHasBeenSet = true; m_speechMarkTypes.push_back(value); return *this; } /** *

The type of speech marks returned for the input text.

*/ inline StartSpeechSynthesisTaskRequest& AddSpeechMarkTypes(SpeechMarkType&& value) { m_speechMarkTypesHasBeenSet = true; m_speechMarkTypes.push_back(std::move(value)); return *this; } /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline const Aws::String& GetText() const{ return m_text; } /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline bool TextHasBeenSet() const { return m_textHasBeenSet; } /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline StartSpeechSynthesisTaskRequest& WithText(const Aws::String& value) { SetText(value); return *this;} /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline StartSpeechSynthesisTaskRequest& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} /** *

The input text to synthesize. If you specify ssml as the TextType, follow the * SSML format for the input text.

*/ inline StartSpeechSynthesisTaskRequest& WithText(const char* value) { SetText(value); return *this;} /** *

Specifies whether the input text is plain text or SSML. The default value is * plain text.

*/ inline const TextType& GetTextType() const{ return m_textType; } /** *

Specifies whether the input text is plain text or SSML. The default value is * plain text.

*/ inline bool TextTypeHasBeenSet() const { return m_textTypeHasBeenSet; } /** *

Specifies whether the input text is plain text or SSML. The default value is * plain text.

*/ inline void SetTextType(const TextType& value) { m_textTypeHasBeenSet = true; m_textType = value; } /** *

Specifies whether the input text is plain text or SSML. The default value is * plain text.

*/ inline void SetTextType(TextType&& value) { m_textTypeHasBeenSet = true; m_textType = std::move(value); } /** *

Specifies whether the input text is plain text or SSML. The default value is * plain text.

*/ inline StartSpeechSynthesisTaskRequest& WithTextType(const TextType& value) { SetTextType(value); return *this;} /** *

Specifies whether the input text is plain text or SSML. The default value is * plain text.

*/ inline StartSpeechSynthesisTaskRequest& WithTextType(TextType&& value) { SetTextType(std::move(value)); return *this;} /** *

Voice ID to use for the synthesis.

*/ inline const VoiceId& GetVoiceId() const{ return m_voiceId; } /** *

Voice ID to use for the synthesis.

*/ inline bool VoiceIdHasBeenSet() const { return m_voiceIdHasBeenSet; } /** *

Voice ID to use for the synthesis.

*/ inline void SetVoiceId(const VoiceId& value) { m_voiceIdHasBeenSet = true; m_voiceId = value; } /** *

Voice ID to use for the synthesis.

*/ inline void SetVoiceId(VoiceId&& value) { m_voiceIdHasBeenSet = true; m_voiceId = std::move(value); } /** *

Voice ID to use for the synthesis.

*/ inline StartSpeechSynthesisTaskRequest& WithVoiceId(const VoiceId& value) { SetVoiceId(value); return *this;} /** *

Voice ID to use for the synthesis.

*/ inline StartSpeechSynthesisTaskRequest& WithVoiceId(VoiceId&& value) { SetVoiceId(std::move(value)); return *this;} private: Engine m_engine; bool m_engineHasBeenSet = false; LanguageCode m_languageCode; bool m_languageCodeHasBeenSet = false; Aws::Vector m_lexiconNames; bool m_lexiconNamesHasBeenSet = false; OutputFormat m_outputFormat; bool m_outputFormatHasBeenSet = false; Aws::String m_outputS3BucketName; bool m_outputS3BucketNameHasBeenSet = false; Aws::String m_outputS3KeyPrefix; bool m_outputS3KeyPrefixHasBeenSet = false; Aws::String m_sampleRate; bool m_sampleRateHasBeenSet = false; Aws::String m_snsTopicArn; bool m_snsTopicArnHasBeenSet = false; Aws::Vector m_speechMarkTypes; bool m_speechMarkTypesHasBeenSet = false; Aws::String m_text; bool m_textHasBeenSet = false; TextType m_textType; bool m_textTypeHasBeenSet = false; VoiceId m_voiceId; bool m_voiceIdHasBeenSet = false; }; } // namespace Model } // namespace Polly } // namespace Aws