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

Describes the data tiering policy for an ONTAP volume. When enabled, Amazon * FSx for ONTAP's intelligent tiering automatically transitions a volume's data * between the file system's primary storage and capacity pool storage based on * your access patterns.

Valid tiering policies are the following:

    *
  • SNAPSHOT_ONLY - (Default value) moves cold snapshots to * the capacity pool storage tier.

  • AUTO * - moves cold user data and snapshots to the capacity pool storage tier based on * your access patterns.

  • ALL - moves all * user data blocks in both the active file system and Snapshot copies to the * storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

See Also:

AWS * API Reference

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

Specifies the number of days that user data in a volume must remain inactive * before it is considered "cold" and moved to the capacity pool. Used with the * AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole * number between 2 and 183. Default values are 31 days for AUTO and 2 * days for SNAPSHOT_ONLY.

*/ inline int GetCoolingPeriod() const{ return m_coolingPeriod; } /** *

Specifies the number of days that user data in a volume must remain inactive * before it is considered "cold" and moved to the capacity pool. Used with the * AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole * number between 2 and 183. Default values are 31 days for AUTO and 2 * days for SNAPSHOT_ONLY.

*/ inline bool CoolingPeriodHasBeenSet() const { return m_coolingPeriodHasBeenSet; } /** *

Specifies the number of days that user data in a volume must remain inactive * before it is considered "cold" and moved to the capacity pool. Used with the * AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole * number between 2 and 183. Default values are 31 days for AUTO and 2 * days for SNAPSHOT_ONLY.

*/ inline void SetCoolingPeriod(int value) { m_coolingPeriodHasBeenSet = true; m_coolingPeriod = value; } /** *

Specifies the number of days that user data in a volume must remain inactive * before it is considered "cold" and moved to the capacity pool. Used with the * AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole * number between 2 and 183. Default values are 31 days for AUTO and 2 * days for SNAPSHOT_ONLY.

*/ inline TieringPolicy& WithCoolingPeriod(int value) { SetCoolingPeriod(value); return *this;} /** *

Specifies the tiering policy used to transition data. Default value is * SNAPSHOT_ONLY.

  • SNAPSHOT_ONLY - moves * cold snapshots to the capacity pool storage tier.

  • * AUTO - moves cold user data and snapshots to the capacity pool * storage tier based on your access patterns.

  • ALL * - moves all user data blocks in both the active file system and Snapshot copies * to the storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

*/ inline const TieringPolicyName& GetName() const{ return m_name; } /** *

Specifies the tiering policy used to transition data. Default value is * SNAPSHOT_ONLY.

  • SNAPSHOT_ONLY - moves * cold snapshots to the capacity pool storage tier.

  • * AUTO - moves cold user data and snapshots to the capacity pool * storage tier based on your access patterns.

  • ALL * - moves all user data blocks in both the active file system and Snapshot copies * to the storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Specifies the tiering policy used to transition data. Default value is * SNAPSHOT_ONLY.

  • SNAPSHOT_ONLY - moves * cold snapshots to the capacity pool storage tier.

  • * AUTO - moves cold user data and snapshots to the capacity pool * storage tier based on your access patterns.

  • ALL * - moves all user data blocks in both the active file system and Snapshot copies * to the storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

*/ inline void SetName(const TieringPolicyName& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Specifies the tiering policy used to transition data. Default value is * SNAPSHOT_ONLY.

  • SNAPSHOT_ONLY - moves * cold snapshots to the capacity pool storage tier.

  • * AUTO - moves cold user data and snapshots to the capacity pool * storage tier based on your access patterns.

  • ALL * - moves all user data blocks in both the active file system and Snapshot copies * to the storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

*/ inline void SetName(TieringPolicyName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Specifies the tiering policy used to transition data. Default value is * SNAPSHOT_ONLY.

  • SNAPSHOT_ONLY - moves * cold snapshots to the capacity pool storage tier.

  • * AUTO - moves cold user data and snapshots to the capacity pool * storage tier based on your access patterns.

  • ALL * - moves all user data blocks in both the active file system and Snapshot copies * to the storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

*/ inline TieringPolicy& WithName(const TieringPolicyName& value) { SetName(value); return *this;} /** *

Specifies the tiering policy used to transition data. Default value is * SNAPSHOT_ONLY.

  • SNAPSHOT_ONLY - moves * cold snapshots to the capacity pool storage tier.

  • * AUTO - moves cold user data and snapshots to the capacity pool * storage tier based on your access patterns.

  • ALL * - moves all user data blocks in both the active file system and Snapshot copies * to the storage pool tier.

  • NONE - keeps a * volume's data in the primary storage tier, preventing it from being moved to the * capacity pool tier.

*/ inline TieringPolicy& WithName(TieringPolicyName&& value) { SetName(std::move(value)); return *this;} private: int m_coolingPeriod; bool m_coolingPeriodHasBeenSet = false; TieringPolicyName m_name; bool m_nameHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws