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

Settings that specify the dialog code hook that is called by Amazon Lex * between eliciting slot values.

See Also:

AWS * API Reference

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

Indicates whether a Lambda function should be invoked for the dialog.

*/ inline bool GetEnableCodeHookInvocation() const{ return m_enableCodeHookInvocation; } /** *

Indicates whether a Lambda function should be invoked for the dialog.

*/ inline bool EnableCodeHookInvocationHasBeenSet() const { return m_enableCodeHookInvocationHasBeenSet; } /** *

Indicates whether a Lambda function should be invoked for the dialog.

*/ inline void SetEnableCodeHookInvocation(bool value) { m_enableCodeHookInvocationHasBeenSet = true; m_enableCodeHookInvocation = value; } /** *

Indicates whether a Lambda function should be invoked for the dialog.

*/ inline ElicitationCodeHookInvocationSetting& WithEnableCodeHookInvocation(bool value) { SetEnableCodeHookInvocation(value); return *this;} /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline const Aws::String& GetInvocationLabel() const{ return m_invocationLabel; } /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline bool InvocationLabelHasBeenSet() const { return m_invocationLabelHasBeenSet; } /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline void SetInvocationLabel(const Aws::String& value) { m_invocationLabelHasBeenSet = true; m_invocationLabel = value; } /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline void SetInvocationLabel(Aws::String&& value) { m_invocationLabelHasBeenSet = true; m_invocationLabel = std::move(value); } /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline void SetInvocationLabel(const char* value) { m_invocationLabelHasBeenSet = true; m_invocationLabel.assign(value); } /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline ElicitationCodeHookInvocationSetting& WithInvocationLabel(const Aws::String& value) { SetInvocationLabel(value); return *this;} /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline ElicitationCodeHookInvocationSetting& WithInvocationLabel(Aws::String&& value) { SetInvocationLabel(std::move(value)); return *this;} /** *

A label that indicates the dialog step from which the dialog code hook is * happening.

*/ inline ElicitationCodeHookInvocationSetting& WithInvocationLabel(const char* value) { SetInvocationLabel(value); return *this;} private: bool m_enableCodeHookInvocation; bool m_enableCodeHookInvocationHasBeenSet = false; Aws::String m_invocationLabel; bool m_invocationLabelHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws