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

Describes a policy used by EFS lifecycle management to transition files to * the Infrequent Access (IA) storage class.

See Also:

AWS * API Reference

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

A value that describes the period of time that a file is not accessed, after * which it transitions to the IA storage class. Metadata operations such as * listing the contents of a directory don't count as file access events.

*/ inline const TransitionToIARules& GetTransitionToIA() const{ return m_transitionToIA; } /** *

A value that describes the period of time that a file is not accessed, after * which it transitions to the IA storage class. Metadata operations such as * listing the contents of a directory don't count as file access events.

*/ inline bool TransitionToIAHasBeenSet() const { return m_transitionToIAHasBeenSet; } /** *

A value that describes the period of time that a file is not accessed, after * which it transitions to the IA storage class. Metadata operations such as * listing the contents of a directory don't count as file access events.

*/ inline void SetTransitionToIA(const TransitionToIARules& value) { m_transitionToIAHasBeenSet = true; m_transitionToIA = value; } /** *

A value that describes the period of time that a file is not accessed, after * which it transitions to the IA storage class. Metadata operations such as * listing the contents of a directory don't count as file access events.

*/ inline void SetTransitionToIA(TransitionToIARules&& value) { m_transitionToIAHasBeenSet = true; m_transitionToIA = std::move(value); } /** *

A value that describes the period of time that a file is not accessed, after * which it transitions to the IA storage class. Metadata operations such as * listing the contents of a directory don't count as file access events.

*/ inline LifecyclePolicy& WithTransitionToIA(const TransitionToIARules& value) { SetTransitionToIA(value); return *this;} /** *

A value that describes the period of time that a file is not accessed, after * which it transitions to the IA storage class. Metadata operations such as * listing the contents of a directory don't count as file access events.

*/ inline LifecyclePolicy& WithTransitionToIA(TransitionToIARules&& value) { SetTransitionToIA(std::move(value)); return *this;} private: TransitionToIARules m_transitionToIA; bool m_transitionToIAHasBeenSet; }; } // namespace Model } // namespace EFS } // namespace Aws