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

A prompt for additional activity after an intent is fulfilled. For example, * after the OrderPizza intent is fulfilled, you might prompt the user * to find out whether the user wants to order drinks.

See Also:

* AWS * API Reference

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

Prompts for information from the user.

*/ inline const Prompt& GetPrompt() const{ return m_prompt; } /** *

Prompts for information from the user.

*/ inline bool PromptHasBeenSet() const { return m_promptHasBeenSet; } /** *

Prompts for information from the user.

*/ inline void SetPrompt(const Prompt& value) { m_promptHasBeenSet = true; m_prompt = value; } /** *

Prompts for information from the user.

*/ inline void SetPrompt(Prompt&& value) { m_promptHasBeenSet = true; m_prompt = std::move(value); } /** *

Prompts for information from the user.

*/ inline FollowUpPrompt& WithPrompt(const Prompt& value) { SetPrompt(value); return *this;} /** *

Prompts for information from the user.

*/ inline FollowUpPrompt& WithPrompt(Prompt&& value) { SetPrompt(std::move(value)); return *this;} /** *

If the user answers "no" to the question defined in the prompt * field, Amazon Lex responds with this statement to acknowledge that the intent * was canceled.

*/ inline const Statement& GetRejectionStatement() const{ return m_rejectionStatement; } /** *

If the user answers "no" to the question defined in the prompt * field, Amazon Lex responds with this statement to acknowledge that the intent * was canceled.

*/ inline bool RejectionStatementHasBeenSet() const { return m_rejectionStatementHasBeenSet; } /** *

If the user answers "no" to the question defined in the prompt * field, Amazon Lex responds with this statement to acknowledge that the intent * was canceled.

*/ inline void SetRejectionStatement(const Statement& value) { m_rejectionStatementHasBeenSet = true; m_rejectionStatement = value; } /** *

If the user answers "no" to the question defined in the prompt * field, Amazon Lex responds with this statement to acknowledge that the intent * was canceled.

*/ inline void SetRejectionStatement(Statement&& value) { m_rejectionStatementHasBeenSet = true; m_rejectionStatement = std::move(value); } /** *

If the user answers "no" to the question defined in the prompt * field, Amazon Lex responds with this statement to acknowledge that the intent * was canceled.

*/ inline FollowUpPrompt& WithRejectionStatement(const Statement& value) { SetRejectionStatement(value); return *this;} /** *

If the user answers "no" to the question defined in the prompt * field, Amazon Lex responds with this statement to acknowledge that the intent * was canceled.

*/ inline FollowUpPrompt& WithRejectionStatement(Statement&& value) { SetRejectionStatement(std::move(value)); return *this;} private: Prompt m_prompt; bool m_promptHasBeenSet = false; Statement m_rejectionStatement; bool m_rejectionStatementHasBeenSet = false; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws