/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LexModelsV2 { namespace Model { /** *

Defines settings for using an Amazon Polly voice to communicate with a * user.

See Also:

AWS * API Reference

*/ class VoiceSettings { public: AWS_LEXMODELSV2_API VoiceSettings(); AWS_LEXMODELSV2_API VoiceSettings(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API VoiceSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The identifier of the Amazon Polly voice to use.

*/ inline const Aws::String& GetVoiceId() const{ return m_voiceId; } /** *

The identifier of the Amazon Polly voice to use.

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

The identifier of the Amazon Polly voice to use.

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

The identifier of the Amazon Polly voice to use.

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

The identifier of the Amazon Polly voice to use.

*/ inline void SetVoiceId(const char* value) { m_voiceIdHasBeenSet = true; m_voiceId.assign(value); } /** *

The identifier of the Amazon Polly voice to use.

*/ inline VoiceSettings& WithVoiceId(const Aws::String& value) { SetVoiceId(value); return *this;} /** *

The identifier of the Amazon Polly voice to use.

*/ inline VoiceSettings& WithVoiceId(Aws::String&& value) { SetVoiceId(std::move(value)); return *this;} /** *

The identifier of the Amazon Polly voice to use.

*/ inline VoiceSettings& WithVoiceId(const char* value) { SetVoiceId(value); return *this;} /** *

Indicates the type of Amazon Polly voice that Amazon Lex should use for voice * interaction with the user. For more information, see the * engine parameter of the SynthesizeSpeech operation * in the Amazon Polly developer guide.

If you do not specify a * value, the default is standard.

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

Indicates the type of Amazon Polly voice that Amazon Lex should use for voice * interaction with the user. For more information, see the * engine parameter of the SynthesizeSpeech operation * in the Amazon Polly developer guide.

If you do not specify a * value, the default is standard.

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

Indicates the type of Amazon Polly voice that Amazon Lex should use for voice * interaction with the user. For more information, see the * engine parameter of the SynthesizeSpeech operation * in the Amazon Polly developer guide.

If you do not specify a * value, the default is standard.

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

Indicates the type of Amazon Polly voice that Amazon Lex should use for voice * interaction with the user. For more information, see the * engine parameter of the SynthesizeSpeech operation * in the Amazon Polly developer guide.

If you do not specify a * value, the default is standard.

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

Indicates the type of Amazon Polly voice that Amazon Lex should use for voice * interaction with the user. For more information, see the * engine parameter of the SynthesizeSpeech operation * in the Amazon Polly developer guide.

If you do not specify a * value, the default is standard.

*/ inline VoiceSettings& WithEngine(const VoiceEngine& value) { SetEngine(value); return *this;} /** *

Indicates the type of Amazon Polly voice that Amazon Lex should use for voice * interaction with the user. For more information, see the * engine parameter of the SynthesizeSpeech operation * in the Amazon Polly developer guide.

If you do not specify a * value, the default is standard.

*/ inline VoiceSettings& WithEngine(VoiceEngine&& value) { SetEngine(std::move(value)); return *this;} private: Aws::String m_voiceId; bool m_voiceIdHasBeenSet = false; VoiceEngine m_engine; bool m_engineHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws