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

How long, in days, message data is kept.

See Also:

AWS * API Reference

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

If true, message data is kept indefinitely.

*/ inline bool GetUnlimited() const{ return m_unlimited; } /** *

If true, message data is kept indefinitely.

*/ inline bool UnlimitedHasBeenSet() const { return m_unlimitedHasBeenSet; } /** *

If true, message data is kept indefinitely.

*/ inline void SetUnlimited(bool value) { m_unlimitedHasBeenSet = true; m_unlimited = value; } /** *

If true, message data is kept indefinitely.

*/ inline RetentionPeriod& WithUnlimited(bool value) { SetUnlimited(value); return *this;} /** *

The number of days that message data is kept. The unlimited * parameter must be false.

*/ inline int GetNumberOfDays() const{ return m_numberOfDays; } /** *

The number of days that message data is kept. The unlimited * parameter must be false.

*/ inline bool NumberOfDaysHasBeenSet() const { return m_numberOfDaysHasBeenSet; } /** *

The number of days that message data is kept. The unlimited * parameter must be false.

*/ inline void SetNumberOfDays(int value) { m_numberOfDaysHasBeenSet = true; m_numberOfDays = value; } /** *

The number of days that message data is kept. The unlimited * parameter must be false.

*/ inline RetentionPeriod& WithNumberOfDays(int value) { SetNumberOfDays(value); return *this;} private: bool m_unlimited; bool m_unlimitedHasBeenSet = false; int m_numberOfDays; bool m_numberOfDaysHasBeenSet = false; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws