/** * 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 { /** *

Specifies the prompts that Amazon Lex uses while a bot is waiting for * customer input.

See Also:

AWS * API Reference

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

The response that Amazon Lex sends to indicate that the bot is waiting for * the conversation to continue.

*/ inline const ResponseSpecification& GetWaitingResponse() const{ return m_waitingResponse; } /** *

The response that Amazon Lex sends to indicate that the bot is waiting for * the conversation to continue.

*/ inline bool WaitingResponseHasBeenSet() const { return m_waitingResponseHasBeenSet; } /** *

The response that Amazon Lex sends to indicate that the bot is waiting for * the conversation to continue.

*/ inline void SetWaitingResponse(const ResponseSpecification& value) { m_waitingResponseHasBeenSet = true; m_waitingResponse = value; } /** *

The response that Amazon Lex sends to indicate that the bot is waiting for * the conversation to continue.

*/ inline void SetWaitingResponse(ResponseSpecification&& value) { m_waitingResponseHasBeenSet = true; m_waitingResponse = std::move(value); } /** *

The response that Amazon Lex sends to indicate that the bot is waiting for * the conversation to continue.

*/ inline WaitAndContinueSpecification& WithWaitingResponse(const ResponseSpecification& value) { SetWaitingResponse(value); return *this;} /** *

The response that Amazon Lex sends to indicate that the bot is waiting for * the conversation to continue.

*/ inline WaitAndContinueSpecification& WithWaitingResponse(ResponseSpecification&& value) { SetWaitingResponse(std::move(value)); return *this;} /** *

The response that Amazon Lex sends to indicate that the bot is ready to * continue the conversation.

*/ inline const ResponseSpecification& GetContinueResponse() const{ return m_continueResponse; } /** *

The response that Amazon Lex sends to indicate that the bot is ready to * continue the conversation.

*/ inline bool ContinueResponseHasBeenSet() const { return m_continueResponseHasBeenSet; } /** *

The response that Amazon Lex sends to indicate that the bot is ready to * continue the conversation.

*/ inline void SetContinueResponse(const ResponseSpecification& value) { m_continueResponseHasBeenSet = true; m_continueResponse = value; } /** *

The response that Amazon Lex sends to indicate that the bot is ready to * continue the conversation.

*/ inline void SetContinueResponse(ResponseSpecification&& value) { m_continueResponseHasBeenSet = true; m_continueResponse = std::move(value); } /** *

The response that Amazon Lex sends to indicate that the bot is ready to * continue the conversation.

*/ inline WaitAndContinueSpecification& WithContinueResponse(const ResponseSpecification& value) { SetContinueResponse(value); return *this;} /** *

The response that Amazon Lex sends to indicate that the bot is ready to * continue the conversation.

*/ inline WaitAndContinueSpecification& WithContinueResponse(ResponseSpecification&& value) { SetContinueResponse(std::move(value)); return *this;} /** *

A response that Amazon Lex sends periodically to the user to indicate that * the bot is still waiting for input from the user.

*/ inline const StillWaitingResponseSpecification& GetStillWaitingResponse() const{ return m_stillWaitingResponse; } /** *

A response that Amazon Lex sends periodically to the user to indicate that * the bot is still waiting for input from the user.

*/ inline bool StillWaitingResponseHasBeenSet() const { return m_stillWaitingResponseHasBeenSet; } /** *

A response that Amazon Lex sends periodically to the user to indicate that * the bot is still waiting for input from the user.

*/ inline void SetStillWaitingResponse(const StillWaitingResponseSpecification& value) { m_stillWaitingResponseHasBeenSet = true; m_stillWaitingResponse = value; } /** *

A response that Amazon Lex sends periodically to the user to indicate that * the bot is still waiting for input from the user.

*/ inline void SetStillWaitingResponse(StillWaitingResponseSpecification&& value) { m_stillWaitingResponseHasBeenSet = true; m_stillWaitingResponse = std::move(value); } /** *

A response that Amazon Lex sends periodically to the user to indicate that * the bot is still waiting for input from the user.

*/ inline WaitAndContinueSpecification& WithStillWaitingResponse(const StillWaitingResponseSpecification& value) { SetStillWaitingResponse(value); return *this;} /** *

A response that Amazon Lex sends periodically to the user to indicate that * the bot is still waiting for input from the user.

*/ inline WaitAndContinueSpecification& WithStillWaitingResponse(StillWaitingResponseSpecification&& value) { SetStillWaitingResponse(std::move(value)); return *this;} /** *

Specifies whether the bot will wait for a user to respond. When this field is * false, wait and continue responses for a slot aren't used. If the * active field isn't specified, the default is true.

*/ inline bool GetActive() const{ return m_active; } /** *

Specifies whether the bot will wait for a user to respond. When this field is * false, wait and continue responses for a slot aren't used. If the * active field isn't specified, the default is true.

*/ inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; } /** *

Specifies whether the bot will wait for a user to respond. When this field is * false, wait and continue responses for a slot aren't used. If the * active field isn't specified, the default is true.

*/ inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; } /** *

Specifies whether the bot will wait for a user to respond. When this field is * false, wait and continue responses for a slot aren't used. If the * active field isn't specified, the default is true.

*/ inline WaitAndContinueSpecification& WithActive(bool value) { SetActive(value); return *this;} private: ResponseSpecification m_waitingResponse; bool m_waitingResponseHasBeenSet; ResponseSpecification m_continueResponse; bool m_continueResponseHasBeenSet; StillWaitingResponseSpecification m_stillWaitingResponse; bool m_stillWaitingResponseHasBeenSet; bool m_active; bool m_activeHasBeenSet; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws