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

How many days your data is kept in the hot tier. By default, your data is * kept indefinitely in the hot tier.

See Also:

AWS * API Reference

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

The number of days that your data is kept.

If you specified a * value for this parameter, the unlimited parameter must be * false.

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

The number of days that your data is kept.

If you specified a * value for this parameter, the unlimited parameter must be * false.

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

The number of days that your data is kept.

If you specified a * value for this parameter, the unlimited parameter must be * false.

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

The number of days that your data is kept.

If you specified a * value for this parameter, the unlimited parameter must be * false.

*/ inline RetentionPeriod& WithNumberOfDays(int value) { SetNumberOfDays(value); return *this;} /** *

If true, your data is kept indefinitely.

If configured to * true, you must not specify a value for the * numberOfDays parameter.

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

If true, your data is kept indefinitely.

If configured to * true, you must not specify a value for the * numberOfDays parameter.

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

If true, your data is kept indefinitely.

If configured to * true, you must not specify a value for the * numberOfDays parameter.

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

If true, your data is kept indefinitely.

If configured to * true, you must not specify a value for the * numberOfDays parameter.

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