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

Settings used when Amazon Lex successfully captures a slot value from a * user.

See Also:

AWS * API Reference

*/ class SlotCaptureSetting { public: AWS_LEXMODELSV2_API SlotCaptureSetting(); AWS_LEXMODELSV2_API SlotCaptureSetting(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API SlotCaptureSetting& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const; inline const ResponseSpecification& GetCaptureResponse() const{ return m_captureResponse; } inline bool CaptureResponseHasBeenSet() const { return m_captureResponseHasBeenSet; } inline void SetCaptureResponse(const ResponseSpecification& value) { m_captureResponseHasBeenSet = true; m_captureResponse = value; } inline void SetCaptureResponse(ResponseSpecification&& value) { m_captureResponseHasBeenSet = true; m_captureResponse = std::move(value); } inline SlotCaptureSetting& WithCaptureResponse(const ResponseSpecification& value) { SetCaptureResponse(value); return *this;} inline SlotCaptureSetting& WithCaptureResponse(ResponseSpecification&& value) { SetCaptureResponse(std::move(value)); return *this;} /** *

Specifies the next step that the bot runs when the slot value is captured * before the code hook times out.

*/ inline const DialogState& GetCaptureNextStep() const{ return m_captureNextStep; } /** *

Specifies the next step that the bot runs when the slot value is captured * before the code hook times out.

*/ inline bool CaptureNextStepHasBeenSet() const { return m_captureNextStepHasBeenSet; } /** *

Specifies the next step that the bot runs when the slot value is captured * before the code hook times out.

*/ inline void SetCaptureNextStep(const DialogState& value) { m_captureNextStepHasBeenSet = true; m_captureNextStep = value; } /** *

Specifies the next step that the bot runs when the slot value is captured * before the code hook times out.

*/ inline void SetCaptureNextStep(DialogState&& value) { m_captureNextStepHasBeenSet = true; m_captureNextStep = std::move(value); } /** *

Specifies the next step that the bot runs when the slot value is captured * before the code hook times out.

*/ inline SlotCaptureSetting& WithCaptureNextStep(const DialogState& value) { SetCaptureNextStep(value); return *this;} /** *

Specifies the next step that the bot runs when the slot value is captured * before the code hook times out.

*/ inline SlotCaptureSetting& WithCaptureNextStep(DialogState&& value) { SetCaptureNextStep(std::move(value)); return *this;} /** *

A list of conditional branches to evaluate after the slot value is * captured.

*/ inline const ConditionalSpecification& GetCaptureConditional() const{ return m_captureConditional; } /** *

A list of conditional branches to evaluate after the slot value is * captured.

*/ inline bool CaptureConditionalHasBeenSet() const { return m_captureConditionalHasBeenSet; } /** *

A list of conditional branches to evaluate after the slot value is * captured.

*/ inline void SetCaptureConditional(const ConditionalSpecification& value) { m_captureConditionalHasBeenSet = true; m_captureConditional = value; } /** *

A list of conditional branches to evaluate after the slot value is * captured.

*/ inline void SetCaptureConditional(ConditionalSpecification&& value) { m_captureConditionalHasBeenSet = true; m_captureConditional = std::move(value); } /** *

A list of conditional branches to evaluate after the slot value is * captured.

*/ inline SlotCaptureSetting& WithCaptureConditional(const ConditionalSpecification& value) { SetCaptureConditional(value); return *this;} /** *

A list of conditional branches to evaluate after the slot value is * captured.

*/ inline SlotCaptureSetting& WithCaptureConditional(ConditionalSpecification&& value) { SetCaptureConditional(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 SlotCaptureSetting& WithFailureResponse(const ResponseSpecification& value) { SetFailureResponse(value); return *this;} inline SlotCaptureSetting& WithFailureResponse(ResponseSpecification&& value) { SetFailureResponse(std::move(value)); return *this;} /** *

Specifies the next step that the bot runs when the slot value code is not * recognized.

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

Specifies the next step that the bot runs when the slot value code is not * recognized.

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

Specifies the next step that the bot runs when the slot value code is not * recognized.

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

Specifies the next step that the bot runs when the slot value code is not * recognized.

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

Specifies the next step that the bot runs when the slot value code is not * recognized.

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

Specifies the next step that the bot runs when the slot value code is not * recognized.

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

A list of conditional branches to evaluate when the slot value isn't * captured.

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

A list of conditional branches to evaluate when the slot value isn't * captured.

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

A list of conditional branches to evaluate when the slot value isn't * captured.

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

A list of conditional branches to evaluate when the slot value isn't * captured.

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

A list of conditional branches to evaluate when the slot value isn't * captured.

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

A list of conditional branches to evaluate when the slot value isn't * captured.

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

Code hook called after Amazon Lex successfully captures a slot value.

*/ inline const DialogCodeHookInvocationSetting& GetCodeHook() const{ return m_codeHook; } /** *

Code hook called after Amazon Lex successfully captures a slot value.

*/ inline bool CodeHookHasBeenSet() const { return m_codeHookHasBeenSet; } /** *

Code hook called after Amazon Lex successfully captures a slot value.

*/ inline void SetCodeHook(const DialogCodeHookInvocationSetting& value) { m_codeHookHasBeenSet = true; m_codeHook = value; } /** *

Code hook called after Amazon Lex successfully captures a slot value.

*/ inline void SetCodeHook(DialogCodeHookInvocationSetting&& value) { m_codeHookHasBeenSet = true; m_codeHook = std::move(value); } /** *

Code hook called after Amazon Lex successfully captures a slot value.

*/ inline SlotCaptureSetting& WithCodeHook(const DialogCodeHookInvocationSetting& value) { SetCodeHook(value); return *this;} /** *

Code hook called after Amazon Lex successfully captures a slot value.

*/ inline SlotCaptureSetting& WithCodeHook(DialogCodeHookInvocationSetting&& value) { SetCodeHook(std::move(value)); return *this;} /** *

Code hook called when Amazon Lex doesn't capture a slot value.

*/ inline const ElicitationCodeHookInvocationSetting& GetElicitationCodeHook() const{ return m_elicitationCodeHook; } /** *

Code hook called when Amazon Lex doesn't capture a slot value.

*/ inline bool ElicitationCodeHookHasBeenSet() const { return m_elicitationCodeHookHasBeenSet; } /** *

Code hook called when Amazon Lex doesn't capture a slot value.

*/ inline void SetElicitationCodeHook(const ElicitationCodeHookInvocationSetting& value) { m_elicitationCodeHookHasBeenSet = true; m_elicitationCodeHook = value; } /** *

Code hook called when Amazon Lex doesn't capture a slot value.

*/ inline void SetElicitationCodeHook(ElicitationCodeHookInvocationSetting&& value) { m_elicitationCodeHookHasBeenSet = true; m_elicitationCodeHook = std::move(value); } /** *

Code hook called when Amazon Lex doesn't capture a slot value.

*/ inline SlotCaptureSetting& WithElicitationCodeHook(const ElicitationCodeHookInvocationSetting& value) { SetElicitationCodeHook(value); return *this;} /** *

Code hook called when Amazon Lex doesn't capture a slot value.

*/ inline SlotCaptureSetting& WithElicitationCodeHook(ElicitationCodeHookInvocationSetting&& value) { SetElicitationCodeHook(std::move(value)); return *this;} private: ResponseSpecification m_captureResponse; bool m_captureResponseHasBeenSet = false; DialogState m_captureNextStep; bool m_captureNextStepHasBeenSet = false; ConditionalSpecification m_captureConditional; bool m_captureConditionalHasBeenSet = false; ResponseSpecification m_failureResponse; bool m_failureResponseHasBeenSet = false; DialogState m_failureNextStep; bool m_failureNextStepHasBeenSet = false; ConditionalSpecification m_failureConditional; bool m_failureConditionalHasBeenSet = false; DialogCodeHookInvocationSetting m_codeHook; bool m_codeHookHasBeenSet = false; ElicitationCodeHookInvocationSetting m_elicitationCodeHook; bool m_elicitationCodeHookHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws