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

The specification of an output context that is set when an intent is * fulfilled.

See Also:

AWS * API Reference

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

The name of the context.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the context.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the context.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the context.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the context.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the context.

*/ inline OutputContext& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the context.

*/ inline OutputContext& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the context.

*/ inline OutputContext& WithName(const char* value) { SetName(value); return *this;} /** *

The number of seconds that the context should be active after it is first * sent in a PostContent or PostText response. You can * set the value between 5 and 86,400 seconds (24 hours).

*/ inline int GetTimeToLiveInSeconds() const{ return m_timeToLiveInSeconds; } /** *

The number of seconds that the context should be active after it is first * sent in a PostContent or PostText response. You can * set the value between 5 and 86,400 seconds (24 hours).

*/ inline bool TimeToLiveInSecondsHasBeenSet() const { return m_timeToLiveInSecondsHasBeenSet; } /** *

The number of seconds that the context should be active after it is first * sent in a PostContent or PostText response. You can * set the value between 5 and 86,400 seconds (24 hours).

*/ inline void SetTimeToLiveInSeconds(int value) { m_timeToLiveInSecondsHasBeenSet = true; m_timeToLiveInSeconds = value; } /** *

The number of seconds that the context should be active after it is first * sent in a PostContent or PostText response. You can * set the value between 5 and 86,400 seconds (24 hours).

*/ inline OutputContext& WithTimeToLiveInSeconds(int value) { SetTimeToLiveInSeconds(value); return *this;} /** *

The number of conversation turns that the context should be active. A * conversation turn is one PostContent or PostText * request and the corresponding response from Amazon Lex.

*/ inline int GetTurnsToLive() const{ return m_turnsToLive; } /** *

The number of conversation turns that the context should be active. A * conversation turn is one PostContent or PostText * request and the corresponding response from Amazon Lex.

*/ inline bool TurnsToLiveHasBeenSet() const { return m_turnsToLiveHasBeenSet; } /** *

The number of conversation turns that the context should be active. A * conversation turn is one PostContent or PostText * request and the corresponding response from Amazon Lex.

*/ inline void SetTurnsToLive(int value) { m_turnsToLiveHasBeenSet = true; m_turnsToLive = value; } /** *

The number of conversation turns that the context should be active. A * conversation turn is one PostContent or PostText * request and the corresponding response from Amazon Lex.

*/ inline OutputContext& WithTurnsToLive(int value) { SetTurnsToLive(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; int m_timeToLiveInSeconds; bool m_timeToLiveInSecondsHasBeenSet = false; int m_turnsToLive; bool m_turnsToLiveHasBeenSet = false; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws