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

Settings that specify the dialog code hook that is called by Amazon Lex at a * step of the conversation.

See Also:

AWS * API Reference

*/ class DialogCodeHookInvocationSetting { public: AWS_LEXMODELSV2_API DialogCodeHookInvocationSetting(); AWS_LEXMODELSV2_API DialogCodeHookInvocationSetting(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API DialogCodeHookInvocationSetting& 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 DialogCodeHookInvocationSetting& WithEnableCodeHookInvocation(bool value) { SetEnableCodeHookInvocation(value); return *this;} /** *

Determines whether a dialog code hook is used when the intent is * activated.

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

Determines whether a dialog code hook is used when the intent is * activated.

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

Determines whether a dialog code hook is used when the intent is * activated.

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

Determines whether a dialog code hook is used when the intent is * activated.

*/ inline DialogCodeHookInvocationSetting& WithActive(bool value) { SetActive(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 DialogCodeHookInvocationSetting& 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 DialogCodeHookInvocationSetting& 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 DialogCodeHookInvocationSetting& WithInvocationLabel(const char* value) { SetInvocationLabel(value); return *this;} /** *

Contains the responses and actions that Amazon Lex takes after the Lambda * function is complete.

*/ inline const PostDialogCodeHookInvocationSpecification& GetPostCodeHookSpecification() const{ return m_postCodeHookSpecification; } /** *

Contains the responses and actions that Amazon Lex takes after the Lambda * function is complete.

*/ inline bool PostCodeHookSpecificationHasBeenSet() const { return m_postCodeHookSpecificationHasBeenSet; } /** *

Contains the responses and actions that Amazon Lex takes after the Lambda * function is complete.

*/ inline void SetPostCodeHookSpecification(const PostDialogCodeHookInvocationSpecification& value) { m_postCodeHookSpecificationHasBeenSet = true; m_postCodeHookSpecification = value; } /** *

Contains the responses and actions that Amazon Lex takes after the Lambda * function is complete.

*/ inline void SetPostCodeHookSpecification(PostDialogCodeHookInvocationSpecification&& value) { m_postCodeHookSpecificationHasBeenSet = true; m_postCodeHookSpecification = std::move(value); } /** *

Contains the responses and actions that Amazon Lex takes after the Lambda * function is complete.

*/ inline DialogCodeHookInvocationSetting& WithPostCodeHookSpecification(const PostDialogCodeHookInvocationSpecification& value) { SetPostCodeHookSpecification(value); return *this;} /** *

Contains the responses and actions that Amazon Lex takes after the Lambda * function is complete.

*/ inline DialogCodeHookInvocationSetting& WithPostCodeHookSpecification(PostDialogCodeHookInvocationSpecification&& value) { SetPostCodeHookSpecification(std::move(value)); return *this;} private: bool m_enableCodeHookInvocation; bool m_enableCodeHookInvocationHasBeenSet = false; bool m_active; bool m_activeHasBeenSet = false; Aws::String m_invocationLabel; bool m_invocationLabelHasBeenSet = false; PostDialogCodeHookInvocationSpecification m_postCodeHookSpecification; bool m_postCodeHookSpecificationHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws