/** * 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 AWS_IOTANALYTICS_API RetentionPeriod { public: RetentionPeriod(); RetentionPeriod(Aws::Utils::Json::JsonView jsonValue); RetentionPeriod& operator=(Aws::Utils::Json::JsonView jsonValue); 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; int m_numberOfDays; bool m_numberOfDaysHasBeenSet; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws