/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a policy used by EFS lifecycle management and EFS
* Intelligent-Tiering that specifies when to transition files into and out of the
* file system's Infrequent Access (IA) storage class. For more information, see EFS
* Intelligent‐Tiering and EFS Lifecycle Management. When using
* the put-lifecycle-configuration
CLI command or the
* PutLifecycleConfiguration
API action, Amazon EFS requires that each
* LifecyclePolicy
object have only a single transition. This means
* that in a request body, LifecyclePolicies
must be structured as an
* array of LifecyclePolicy
objects, one object for each transition,
* TransitionToIA
, TransitionToPrimaryStorageClass
. For
* more information, see the request examples in
* PutLifecycleConfiguration.See Also:
AWS
* API Reference
Describes the period of time that a file is not accessed, after which it * transitions to IA storage. 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; } /** *Describes the period of time that a file is not accessed, after which it * transitions to IA storage. Metadata operations such as listing the contents of a * directory don't count as file access events.
*/ inline bool TransitionToIAHasBeenSet() const { return m_transitionToIAHasBeenSet; } /** *Describes the period of time that a file is not accessed, after which it * transitions to IA storage. 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; } /** *Describes the period of time that a file is not accessed, after which it * transitions to IA storage. 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); } /** *Describes the period of time that a file is not accessed, after which it * transitions to IA storage. 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;} /** *Describes the period of time that a file is not accessed, after which it * transitions to IA storage. 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;} /** *Describes when to transition a file from IA storage to primary storage. * Metadata operations such as listing the contents of a directory don't count as * file access events.
*/ inline const TransitionToPrimaryStorageClassRules& GetTransitionToPrimaryStorageClass() const{ return m_transitionToPrimaryStorageClass; } /** *Describes when to transition a file from IA storage to primary storage. * Metadata operations such as listing the contents of a directory don't count as * file access events.
*/ inline bool TransitionToPrimaryStorageClassHasBeenSet() const { return m_transitionToPrimaryStorageClassHasBeenSet; } /** *Describes when to transition a file from IA storage to primary storage. * Metadata operations such as listing the contents of a directory don't count as * file access events.
*/ inline void SetTransitionToPrimaryStorageClass(const TransitionToPrimaryStorageClassRules& value) { m_transitionToPrimaryStorageClassHasBeenSet = true; m_transitionToPrimaryStorageClass = value; } /** *Describes when to transition a file from IA storage to primary storage. * Metadata operations such as listing the contents of a directory don't count as * file access events.
*/ inline void SetTransitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules&& value) { m_transitionToPrimaryStorageClassHasBeenSet = true; m_transitionToPrimaryStorageClass = std::move(value); } /** *Describes when to transition a file from IA storage to primary storage. * Metadata operations such as listing the contents of a directory don't count as * file access events.
*/ inline LifecyclePolicy& WithTransitionToPrimaryStorageClass(const TransitionToPrimaryStorageClassRules& value) { SetTransitionToPrimaryStorageClass(value); return *this;} /** *Describes when to transition a file from IA storage to primary storage. * Metadata operations such as listing the contents of a directory don't count as * file access events.
*/ inline LifecyclePolicy& WithTransitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules&& value) { SetTransitionToPrimaryStorageClass(std::move(value)); return *this;} private: TransitionToIARules m_transitionToIA; bool m_transitionToIAHasBeenSet = false; TransitionToPrimaryStorageClassRules m_transitionToPrimaryStorageClass; bool m_transitionToPrimaryStorageClassHasBeenSet = false; }; } // namespace Model } // namespace EFS } // namespace Aws