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

Provides a setting that determines whether the post-fulfillment response is * sent to the user. For more information, see https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete *

See Also:

AWS * API Reference

*/ class PostFulfillmentStatusSpecification { public: AWS_LEXMODELSV2_API PostFulfillmentStatusSpecification(); AWS_LEXMODELSV2_API PostFulfillmentStatusSpecification(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API PostFulfillmentStatusSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const; inline const ResponseSpecification& GetSuccessResponse() const{ return m_successResponse; } inline bool SuccessResponseHasBeenSet() const { return m_successResponseHasBeenSet; } inline void SetSuccessResponse(const ResponseSpecification& value) { m_successResponseHasBeenSet = true; m_successResponse = value; } inline void SetSuccessResponse(ResponseSpecification&& value) { m_successResponseHasBeenSet = true; m_successResponse = std::move(value); } inline PostFulfillmentStatusSpecification& WithSuccessResponse(const ResponseSpecification& value) { SetSuccessResponse(value); return *this;} inline PostFulfillmentStatusSpecification& WithSuccessResponse(ResponseSpecification&& value) { SetSuccessResponse(std::move(value)); return *this;} inline const ResponseSpecification& GetFailureResponse() const{ return m_failureResponse; } inline bool FailureResponseHasBeenSet() const { return m_failureResponseHasBeenSet; } inline void SetFailureResponse(const ResponseSpecification& value) { m_failureResponseHasBeenSet = true; m_failureResponse = value; } inline void SetFailureResponse(ResponseSpecification&& value) { m_failureResponseHasBeenSet = true; m_failureResponse = std::move(value); } inline PostFulfillmentStatusSpecification& WithFailureResponse(const ResponseSpecification& value) { SetFailureResponse(value); return *this;} inline PostFulfillmentStatusSpecification& WithFailureResponse(ResponseSpecification&& value) { SetFailureResponse(std::move(value)); return *this;} inline const ResponseSpecification& GetTimeoutResponse() const{ return m_timeoutResponse; } inline bool TimeoutResponseHasBeenSet() const { return m_timeoutResponseHasBeenSet; } inline void SetTimeoutResponse(const ResponseSpecification& value) { m_timeoutResponseHasBeenSet = true; m_timeoutResponse = value; } inline void SetTimeoutResponse(ResponseSpecification&& value) { m_timeoutResponseHasBeenSet = true; m_timeoutResponse = std::move(value); } inline PostFulfillmentStatusSpecification& WithTimeoutResponse(const ResponseSpecification& value) { SetTimeoutResponse(value); return *this;} inline PostFulfillmentStatusSpecification& WithTimeoutResponse(ResponseSpecification&& value) { SetTimeoutResponse(std::move(value)); return *this;} /** *

Specifies the next step in the conversation that Amazon Lex invokes when the * fulfillment code hook completes successfully.

*/ inline const DialogState& GetSuccessNextStep() const{ return m_successNextStep; } /** *

Specifies the next step in the conversation that Amazon Lex invokes when the * fulfillment code hook completes successfully.

*/ inline bool SuccessNextStepHasBeenSet() const { return m_successNextStepHasBeenSet; } /** *

Specifies the next step in the conversation that Amazon Lex invokes when the * fulfillment code hook completes successfully.

*/ inline void SetSuccessNextStep(const DialogState& value) { m_successNextStepHasBeenSet = true; m_successNextStep = value; } /** *

Specifies the next step in the conversation that Amazon Lex invokes when the * fulfillment code hook completes successfully.

*/ inline void SetSuccessNextStep(DialogState&& value) { m_successNextStepHasBeenSet = true; m_successNextStep = std::move(value); } /** *

Specifies the next step in the conversation that Amazon Lex invokes when the * fulfillment code hook completes successfully.

*/ inline PostFulfillmentStatusSpecification& WithSuccessNextStep(const DialogState& value) { SetSuccessNextStep(value); return *this;} /** *

Specifies the next step in the conversation that Amazon Lex invokes when the * fulfillment code hook completes successfully.

*/ inline PostFulfillmentStatusSpecification& WithSuccessNextStep(DialogState&& value) { SetSuccessNextStep(std::move(value)); return *this;} /** *

A list of conditional branches to evaluate after the fulfillment code hook * finishes successfully.

*/ inline const ConditionalSpecification& GetSuccessConditional() const{ return m_successConditional; } /** *

A list of conditional branches to evaluate after the fulfillment code hook * finishes successfully.

*/ inline bool SuccessConditionalHasBeenSet() const { return m_successConditionalHasBeenSet; } /** *

A list of conditional branches to evaluate after the fulfillment code hook * finishes successfully.

*/ inline void SetSuccessConditional(const ConditionalSpecification& value) { m_successConditionalHasBeenSet = true; m_successConditional = value; } /** *

A list of conditional branches to evaluate after the fulfillment code hook * finishes successfully.

*/ inline void SetSuccessConditional(ConditionalSpecification&& value) { m_successConditionalHasBeenSet = true; m_successConditional = std::move(value); } /** *

A list of conditional branches to evaluate after the fulfillment code hook * finishes successfully.

*/ inline PostFulfillmentStatusSpecification& WithSuccessConditional(const ConditionalSpecification& value) { SetSuccessConditional(value); return *this;} /** *

A list of conditional branches to evaluate after the fulfillment code hook * finishes successfully.

*/ inline PostFulfillmentStatusSpecification& WithSuccessConditional(ConditionalSpecification&& value) { SetSuccessConditional(std::move(value)); return *this;} /** *

Specifies the next step the bot runs after the fulfillment code hook throws * an exception or returns with the State field of the * Intent object set to Failed.

*/ inline const DialogState& GetFailureNextStep() const{ return m_failureNextStep; } /** *

Specifies the next step the bot runs after the fulfillment code hook throws * an exception or returns with the State field of the * Intent object set to Failed.

*/ inline bool FailureNextStepHasBeenSet() const { return m_failureNextStepHasBeenSet; } /** *

Specifies the next step the bot runs after the fulfillment code hook throws * an exception or returns with the State field of the * Intent object set to Failed.

*/ inline void SetFailureNextStep(const DialogState& value) { m_failureNextStepHasBeenSet = true; m_failureNextStep = value; } /** *

Specifies the next step the bot runs after the fulfillment code hook throws * an exception or returns with the State field of the * Intent object set to Failed.

*/ inline void SetFailureNextStep(DialogState&& value) { m_failureNextStepHasBeenSet = true; m_failureNextStep = std::move(value); } /** *

Specifies the next step the bot runs after the fulfillment code hook throws * an exception or returns with the State field of the * Intent object set to Failed.

*/ inline PostFulfillmentStatusSpecification& WithFailureNextStep(const DialogState& value) { SetFailureNextStep(value); return *this;} /** *

Specifies the next step the bot runs after the fulfillment code hook throws * an exception or returns with the State field of the * Intent object set to Failed.

*/ inline PostFulfillmentStatusSpecification& WithFailureNextStep(DialogState&& value) { SetFailureNextStep(std::move(value)); return *this;} /** *

A list of conditional branches to evaluate after the fulfillment code hook * throws an exception or returns with the State field of the * Intent object set to Failed.

*/ inline const ConditionalSpecification& GetFailureConditional() const{ return m_failureConditional; } /** *

A list of conditional branches to evaluate after the fulfillment code hook * throws an exception or returns with the State field of the * Intent object set to Failed.

*/ inline bool FailureConditionalHasBeenSet() const { return m_failureConditionalHasBeenSet; } /** *

A list of conditional branches to evaluate after the fulfillment code hook * throws an exception or returns with the State field of the * Intent object set to Failed.

*/ inline void SetFailureConditional(const ConditionalSpecification& value) { m_failureConditionalHasBeenSet = true; m_failureConditional = value; } /** *

A list of conditional branches to evaluate after the fulfillment code hook * throws an exception or returns with the State field of the * Intent object set to Failed.

*/ inline void SetFailureConditional(ConditionalSpecification&& value) { m_failureConditionalHasBeenSet = true; m_failureConditional = std::move(value); } /** *

A list of conditional branches to evaluate after the fulfillment code hook * throws an exception or returns with the State field of the * Intent object set to Failed.

*/ inline PostFulfillmentStatusSpecification& WithFailureConditional(const ConditionalSpecification& value) { SetFailureConditional(value); return *this;} /** *

A list of conditional branches to evaluate after the fulfillment code hook * throws an exception or returns with the State field of the * Intent object set to Failed.

*/ inline PostFulfillmentStatusSpecification& WithFailureConditional(ConditionalSpecification&& value) { SetFailureConditional(std::move(value)); return *this;} /** *

Specifies the next step that the bot runs when the fulfillment code hook * times out.

*/ inline const DialogState& GetTimeoutNextStep() const{ return m_timeoutNextStep; } /** *

Specifies the next step that the bot runs when the fulfillment code hook * times out.

*/ inline bool TimeoutNextStepHasBeenSet() const { return m_timeoutNextStepHasBeenSet; } /** *

Specifies the next step that the bot runs when the fulfillment code hook * times out.

*/ inline void SetTimeoutNextStep(const DialogState& value) { m_timeoutNextStepHasBeenSet = true; m_timeoutNextStep = value; } /** *

Specifies the next step that the bot runs when the fulfillment code hook * times out.

*/ inline void SetTimeoutNextStep(DialogState&& value) { m_timeoutNextStepHasBeenSet = true; m_timeoutNextStep = std::move(value); } /** *

Specifies the next step that the bot runs when the fulfillment code hook * times out.

*/ inline PostFulfillmentStatusSpecification& WithTimeoutNextStep(const DialogState& value) { SetTimeoutNextStep(value); return *this;} /** *

Specifies the next step that the bot runs when the fulfillment code hook * times out.

*/ inline PostFulfillmentStatusSpecification& WithTimeoutNextStep(DialogState&& value) { SetTimeoutNextStep(std::move(value)); return *this;} /** *

A list of conditional branches to evaluate if the fulfillment code hook times * out.

*/ inline const ConditionalSpecification& GetTimeoutConditional() const{ return m_timeoutConditional; } /** *

A list of conditional branches to evaluate if the fulfillment code hook times * out.

*/ inline bool TimeoutConditionalHasBeenSet() const { return m_timeoutConditionalHasBeenSet; } /** *

A list of conditional branches to evaluate if the fulfillment code hook times * out.

*/ inline void SetTimeoutConditional(const ConditionalSpecification& value) { m_timeoutConditionalHasBeenSet = true; m_timeoutConditional = value; } /** *

A list of conditional branches to evaluate if the fulfillment code hook times * out.

*/ inline void SetTimeoutConditional(ConditionalSpecification&& value) { m_timeoutConditionalHasBeenSet = true; m_timeoutConditional = std::move(value); } /** *

A list of conditional branches to evaluate if the fulfillment code hook times * out.

*/ inline PostFulfillmentStatusSpecification& WithTimeoutConditional(const ConditionalSpecification& value) { SetTimeoutConditional(value); return *this;} /** *

A list of conditional branches to evaluate if the fulfillment code hook times * out.

*/ inline PostFulfillmentStatusSpecification& WithTimeoutConditional(ConditionalSpecification&& value) { SetTimeoutConditional(std::move(value)); return *this;} private: ResponseSpecification m_successResponse; bool m_successResponseHasBeenSet = false; ResponseSpecification m_failureResponse; bool m_failureResponseHasBeenSet = false; ResponseSpecification m_timeoutResponse; bool m_timeoutResponseHasBeenSet = false; DialogState m_successNextStep; bool m_successNextStepHasBeenSet = false; ConditionalSpecification m_successConditional; bool m_successConditionalHasBeenSet = false; DialogState m_failureNextStep; bool m_failureNextStepHasBeenSet = false; ConditionalSpecification m_failureConditional; bool m_failureConditionalHasBeenSet = false; DialogState m_timeoutNextStep; bool m_timeoutNextStepHasBeenSet = false; ConditionalSpecification m_timeoutConditional; bool m_timeoutConditionalHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws