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

Provides a record of an event that affects a bot alias. For example, when the * version of a bot that the alias points to changes.

See Also:

AWS * API Reference

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

The version of the bot that was used in the event.

*/ inline const Aws::String& GetBotVersion() const{ return m_botVersion; } /** *

The version of the bot that was used in the event.

*/ inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } /** *

The version of the bot that was used in the event.

*/ inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } /** *

The version of the bot that was used in the event.

*/ inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } /** *

The version of the bot that was used in the event.

*/ inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } /** *

The version of the bot that was used in the event.

*/ inline BotAliasHistoryEvent& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} /** *

The version of the bot that was used in the event.

*/ inline BotAliasHistoryEvent& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} /** *

The version of the bot that was used in the event.

*/ inline BotAliasHistoryEvent& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} /** *

The date and time that the event started.

*/ inline const Aws::Utils::DateTime& GetStartDate() const{ return m_startDate; } /** *

The date and time that the event started.

*/ inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; } /** *

The date and time that the event started.

*/ inline void SetStartDate(const Aws::Utils::DateTime& value) { m_startDateHasBeenSet = true; m_startDate = value; } /** *

The date and time that the event started.

*/ inline void SetStartDate(Aws::Utils::DateTime&& value) { m_startDateHasBeenSet = true; m_startDate = std::move(value); } /** *

The date and time that the event started.

*/ inline BotAliasHistoryEvent& WithStartDate(const Aws::Utils::DateTime& value) { SetStartDate(value); return *this;} /** *

The date and time that the event started.

*/ inline BotAliasHistoryEvent& WithStartDate(Aws::Utils::DateTime&& value) { SetStartDate(std::move(value)); return *this;} /** *

The date and time that the event ended.

*/ inline const Aws::Utils::DateTime& GetEndDate() const{ return m_endDate; } /** *

The date and time that the event ended.

*/ inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; } /** *

The date and time that the event ended.

*/ inline void SetEndDate(const Aws::Utils::DateTime& value) { m_endDateHasBeenSet = true; m_endDate = value; } /** *

The date and time that the event ended.

*/ inline void SetEndDate(Aws::Utils::DateTime&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); } /** *

The date and time that the event ended.

*/ inline BotAliasHistoryEvent& WithEndDate(const Aws::Utils::DateTime& value) { SetEndDate(value); return *this;} /** *

The date and time that the event ended.

*/ inline BotAliasHistoryEvent& WithEndDate(Aws::Utils::DateTime&& value) { SetEndDate(std::move(value)); return *this;} private: Aws::String m_botVersion; bool m_botVersionHasBeenSet = false; Aws::Utils::DateTime m_startDate; bool m_startDateHasBeenSet = false; Aws::Utils::DateTime m_endDate; bool m_endDateHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws