/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A rule in the Point in Time (PIT) policy representing when to take snapshots
* and how long to retain them for.See Also:
AWS
* API Reference
Whether this rule is enabled or not.
*/ inline bool GetEnabled() const{ return m_enabled; } /** *Whether this rule is enabled or not.
*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *Whether this rule is enabled or not.
*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *Whether this rule is enabled or not.
*/ inline PITPolicyRule& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *How often, in the chosen units, a snapshot should be taken.
*/ inline int GetInterval() const{ return m_interval; } /** *How often, in the chosen units, a snapshot should be taken.
*/ inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; } /** *How often, in the chosen units, a snapshot should be taken.
*/ inline void SetInterval(int value) { m_intervalHasBeenSet = true; m_interval = value; } /** *How often, in the chosen units, a snapshot should be taken.
*/ inline PITPolicyRule& WithInterval(int value) { SetInterval(value); return *this;} /** *The duration to retain a snapshot for, in the chosen units.
*/ inline int GetRetentionDuration() const{ return m_retentionDuration; } /** *The duration to retain a snapshot for, in the chosen units.
*/ inline bool RetentionDurationHasBeenSet() const { return m_retentionDurationHasBeenSet; } /** *The duration to retain a snapshot for, in the chosen units.
*/ inline void SetRetentionDuration(int value) { m_retentionDurationHasBeenSet = true; m_retentionDuration = value; } /** *The duration to retain a snapshot for, in the chosen units.
*/ inline PITPolicyRule& WithRetentionDuration(int value) { SetRetentionDuration(value); return *this;} /** *The ID of the rule.
*/ inline long long GetRuleID() const{ return m_ruleID; } /** *The ID of the rule.
*/ inline bool RuleIDHasBeenSet() const { return m_ruleIDHasBeenSet; } /** *The ID of the rule.
*/ inline void SetRuleID(long long value) { m_ruleIDHasBeenSet = true; m_ruleID = value; } /** *The ID of the rule.
*/ inline PITPolicyRule& WithRuleID(long long value) { SetRuleID(value); return *this;} /** *The units used to measure the interval and retentionDuration.
*/ inline const PITPolicyRuleUnits& GetUnits() const{ return m_units; } /** *The units used to measure the interval and retentionDuration.
*/ inline bool UnitsHasBeenSet() const { return m_unitsHasBeenSet; } /** *The units used to measure the interval and retentionDuration.
*/ inline void SetUnits(const PITPolicyRuleUnits& value) { m_unitsHasBeenSet = true; m_units = value; } /** *The units used to measure the interval and retentionDuration.
*/ inline void SetUnits(PITPolicyRuleUnits&& value) { m_unitsHasBeenSet = true; m_units = std::move(value); } /** *The units used to measure the interval and retentionDuration.
*/ inline PITPolicyRule& WithUnits(const PITPolicyRuleUnits& value) { SetUnits(value); return *this;} /** *The units used to measure the interval and retentionDuration.
*/ inline PITPolicyRule& WithUnits(PITPolicyRuleUnits&& value) { SetUnits(std::move(value)); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; int m_interval; bool m_intervalHasBeenSet = false; int m_retentionDuration; bool m_retentionDurationHasBeenSet = false; long long m_ruleID; bool m_ruleIDHasBeenSet = false; PITPolicyRuleUnits m_units; bool m_unitsHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws