/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The rule configuration for an assertion rule. That is, the criteria that you
* set for specific assertion controls (routing controls) that specify how many
* controls must be enabled after a transaction completes.See Also:
* AWS
* API Reference
Logical negation of the rule. If the rule would usually evaluate true, it's * evaluated as false, and vice versa.
*/ inline bool GetInverted() const{ return m_inverted; } /** *Logical negation of the rule. If the rule would usually evaluate true, it's * evaluated as false, and vice versa.
*/ inline bool InvertedHasBeenSet() const { return m_invertedHasBeenSet; } /** *Logical negation of the rule. If the rule would usually evaluate true, it's * evaluated as false, and vice versa.
*/ inline void SetInverted(bool value) { m_invertedHasBeenSet = true; m_inverted = value; } /** *Logical negation of the rule. If the rule would usually evaluate true, it's * evaluated as false, and vice versa.
*/ inline RuleConfig& WithInverted(bool value) { SetInverted(value); return *this;} /** *The value of N, when you specify an ATLEAST rule type. That is, Threshold is * the number of controls that must be set when you specify an ATLEAST type.
*/ inline int GetThreshold() const{ return m_threshold; } /** *The value of N, when you specify an ATLEAST rule type. That is, Threshold is * the number of controls that must be set when you specify an ATLEAST type.
*/ inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } /** *The value of N, when you specify an ATLEAST rule type. That is, Threshold is * the number of controls that must be set when you specify an ATLEAST type.
*/ inline void SetThreshold(int value) { m_thresholdHasBeenSet = true; m_threshold = value; } /** *The value of N, when you specify an ATLEAST rule type. That is, Threshold is * the number of controls that must be set when you specify an ATLEAST type.
*/ inline RuleConfig& WithThreshold(int value) { SetThreshold(value); return *this;} /** *A rule can be one of the following: ATLEAST, AND, or OR.
*/ inline const RuleType& GetType() const{ return m_type; } /** *A rule can be one of the following: ATLEAST, AND, or OR.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *A rule can be one of the following: ATLEAST, AND, or OR.
*/ inline void SetType(const RuleType& value) { m_typeHasBeenSet = true; m_type = value; } /** *A rule can be one of the following: ATLEAST, AND, or OR.
*/ inline void SetType(RuleType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *A rule can be one of the following: ATLEAST, AND, or OR.
*/ inline RuleConfig& WithType(const RuleType& value) { SetType(value); return *this;} /** *A rule can be one of the following: ATLEAST, AND, or OR.
*/ inline RuleConfig& WithType(RuleType&& value) { SetType(std::move(value)); return *this;} private: bool m_inverted; bool m_invertedHasBeenSet; int m_threshold; bool m_thresholdHasBeenSet; RuleType m_type; bool m_typeHasBeenSet; }; } // namespace Model } // namespace Route53RecoveryControlConfig } // namespace Aws