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

The retention settings for an Amazon Chime Enterprise account that determine * how long to retain items such as chat-room messages and chat-conversation * messages.

See Also:

AWS * API Reference

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

The chat room retention settings.

*/ inline const RoomRetentionSettings& GetRoomRetentionSettings() const{ return m_roomRetentionSettings; } /** *

The chat room retention settings.

*/ inline bool RoomRetentionSettingsHasBeenSet() const { return m_roomRetentionSettingsHasBeenSet; } /** *

The chat room retention settings.

*/ inline void SetRoomRetentionSettings(const RoomRetentionSettings& value) { m_roomRetentionSettingsHasBeenSet = true; m_roomRetentionSettings = value; } /** *

The chat room retention settings.

*/ inline void SetRoomRetentionSettings(RoomRetentionSettings&& value) { m_roomRetentionSettingsHasBeenSet = true; m_roomRetentionSettings = std::move(value); } /** *

The chat room retention settings.

*/ inline RetentionSettings& WithRoomRetentionSettings(const RoomRetentionSettings& value) { SetRoomRetentionSettings(value); return *this;} /** *

The chat room retention settings.

*/ inline RetentionSettings& WithRoomRetentionSettings(RoomRetentionSettings&& value) { SetRoomRetentionSettings(std::move(value)); return *this;} /** *

The chat conversation retention settings.

*/ inline const ConversationRetentionSettings& GetConversationRetentionSettings() const{ return m_conversationRetentionSettings; } /** *

The chat conversation retention settings.

*/ inline bool ConversationRetentionSettingsHasBeenSet() const { return m_conversationRetentionSettingsHasBeenSet; } /** *

The chat conversation retention settings.

*/ inline void SetConversationRetentionSettings(const ConversationRetentionSettings& value) { m_conversationRetentionSettingsHasBeenSet = true; m_conversationRetentionSettings = value; } /** *

The chat conversation retention settings.

*/ inline void SetConversationRetentionSettings(ConversationRetentionSettings&& value) { m_conversationRetentionSettingsHasBeenSet = true; m_conversationRetentionSettings = std::move(value); } /** *

The chat conversation retention settings.

*/ inline RetentionSettings& WithConversationRetentionSettings(const ConversationRetentionSettings& value) { SetConversationRetentionSettings(value); return *this;} /** *

The chat conversation retention settings.

*/ inline RetentionSettings& WithConversationRetentionSettings(ConversationRetentionSettings&& value) { SetConversationRetentionSettings(std::move(value)); return *this;} private: RoomRetentionSettings m_roomRetentionSettings; bool m_roomRetentionSettingsHasBeenSet = false; ConversationRetentionSettings m_conversationRetentionSettings; bool m_conversationRetentionSettingsHasBeenSet = false; }; } // namespace Model } // namespace Chime } // namespace Aws