/** * 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 Connect { namespace Model { /** *

Configuration information of an Amazon Lex or Amazon Lex V2 * bot.

See Also:

AWS * API Reference

*/ class LexBotConfig { public: AWS_CONNECT_API LexBotConfig(); AWS_CONNECT_API LexBotConfig(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API LexBotConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; inline const LexBot& GetLexBot() const{ return m_lexBot; } inline bool LexBotHasBeenSet() const { return m_lexBotHasBeenSet; } inline void SetLexBot(const LexBot& value) { m_lexBotHasBeenSet = true; m_lexBot = value; } inline void SetLexBot(LexBot&& value) { m_lexBotHasBeenSet = true; m_lexBot = std::move(value); } inline LexBotConfig& WithLexBot(const LexBot& value) { SetLexBot(value); return *this;} inline LexBotConfig& WithLexBot(LexBot&& value) { SetLexBot(std::move(value)); return *this;} /** *

Configuration information of an Amazon Lex V2 bot.

*/ inline const LexV2Bot& GetLexV2Bot() const{ return m_lexV2Bot; } /** *

Configuration information of an Amazon Lex V2 bot.

*/ inline bool LexV2BotHasBeenSet() const { return m_lexV2BotHasBeenSet; } /** *

Configuration information of an Amazon Lex V2 bot.

*/ inline void SetLexV2Bot(const LexV2Bot& value) { m_lexV2BotHasBeenSet = true; m_lexV2Bot = value; } /** *

Configuration information of an Amazon Lex V2 bot.

*/ inline void SetLexV2Bot(LexV2Bot&& value) { m_lexV2BotHasBeenSet = true; m_lexV2Bot = std::move(value); } /** *

Configuration information of an Amazon Lex V2 bot.

*/ inline LexBotConfig& WithLexV2Bot(const LexV2Bot& value) { SetLexV2Bot(value); return *this;} /** *

Configuration information of an Amazon Lex V2 bot.

*/ inline LexBotConfig& WithLexV2Bot(LexV2Bot&& value) { SetLexV2Bot(std::move(value)); return *this;} private: LexBot m_lexBot; bool m_lexBotHasBeenSet = false; LexV2Bot m_lexV2Bot; bool m_lexV2BotHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws