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

Information about the retention rule unlock delay. The unlock delay is the * period after which a retention rule can be modified or edited after it has been * unlocked by a user with the required permissions. The retention rule can't be * modified or deleted during the unlock delay.

See Also:

AWS * API Reference

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

The unlock delay period, measured in the unit specified for * UnlockDelayUnit.

*/ inline int GetUnlockDelayValue() const{ return m_unlockDelayValue; } /** *

The unlock delay period, measured in the unit specified for * UnlockDelayUnit.

*/ inline bool UnlockDelayValueHasBeenSet() const { return m_unlockDelayValueHasBeenSet; } /** *

The unlock delay period, measured in the unit specified for * UnlockDelayUnit.

*/ inline void SetUnlockDelayValue(int value) { m_unlockDelayValueHasBeenSet = true; m_unlockDelayValue = value; } /** *

The unlock delay period, measured in the unit specified for * UnlockDelayUnit.

*/ inline UnlockDelay& WithUnlockDelayValue(int value) { SetUnlockDelayValue(value); return *this;} /** *

The unit of time in which to measure the unlock delay. Currently, the unlock * delay can be measure only in days.

*/ inline const UnlockDelayUnit& GetUnlockDelayUnit() const{ return m_unlockDelayUnit; } /** *

The unit of time in which to measure the unlock delay. Currently, the unlock * delay can be measure only in days.

*/ inline bool UnlockDelayUnitHasBeenSet() const { return m_unlockDelayUnitHasBeenSet; } /** *

The unit of time in which to measure the unlock delay. Currently, the unlock * delay can be measure only in days.

*/ inline void SetUnlockDelayUnit(const UnlockDelayUnit& value) { m_unlockDelayUnitHasBeenSet = true; m_unlockDelayUnit = value; } /** *

The unit of time in which to measure the unlock delay. Currently, the unlock * delay can be measure only in days.

*/ inline void SetUnlockDelayUnit(UnlockDelayUnit&& value) { m_unlockDelayUnitHasBeenSet = true; m_unlockDelayUnit = std::move(value); } /** *

The unit of time in which to measure the unlock delay. Currently, the unlock * delay can be measure only in days.

*/ inline UnlockDelay& WithUnlockDelayUnit(const UnlockDelayUnit& value) { SetUnlockDelayUnit(value); return *this;} /** *

The unit of time in which to measure the unlock delay. Currently, the unlock * delay can be measure only in days.

*/ inline UnlockDelay& WithUnlockDelayUnit(UnlockDelayUnit&& value) { SetUnlockDelayUnit(std::move(value)); return *this;} private: int m_unlockDelayValue; bool m_unlockDelayValueHasBeenSet = false; UnlockDelayUnit m_unlockDelayUnit; bool m_unlockDelayUnitHasBeenSet = false; }; } // namespace Model } // namespace RecycleBin } // namespace Aws