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

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

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

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