/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTEvents { namespace Model { /** *

A rule that compares an input property value to a threshold value with a * comparison operator.

See Also:

AWS * API Reference

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

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline const Aws::String& GetInputProperty() const{ return m_inputProperty; } /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline bool InputPropertyHasBeenSet() const { return m_inputPropertyHasBeenSet; } /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline void SetInputProperty(const Aws::String& value) { m_inputPropertyHasBeenSet = true; m_inputProperty = value; } /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline void SetInputProperty(Aws::String&& value) { m_inputPropertyHasBeenSet = true; m_inputProperty = std::move(value); } /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline void SetInputProperty(const char* value) { m_inputPropertyHasBeenSet = true; m_inputProperty.assign(value); } /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline SimpleRule& WithInputProperty(const Aws::String& value) { SetInputProperty(value); return *this;} /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline SimpleRule& WithInputProperty(Aws::String&& value) { SetInputProperty(std::move(value)); return *this;} /** *

The value on the left side of the comparison operator. You can specify an AWS * IoT Events input attribute as an input property.

*/ inline SimpleRule& WithInputProperty(const char* value) { SetInputProperty(value); return *this;} /** *

The comparison operator.

*/ inline const ComparisonOperator& GetComparisonOperator() const{ return m_comparisonOperator; } /** *

The comparison operator.

*/ inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; } /** *

The comparison operator.

*/ inline void SetComparisonOperator(const ComparisonOperator& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; } /** *

The comparison operator.

*/ inline void SetComparisonOperator(ComparisonOperator&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); } /** *

The comparison operator.

*/ inline SimpleRule& WithComparisonOperator(const ComparisonOperator& value) { SetComparisonOperator(value); return *this;} /** *

The comparison operator.

*/ inline SimpleRule& WithComparisonOperator(ComparisonOperator&& value) { SetComparisonOperator(std::move(value)); return *this;} /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline const Aws::String& GetThreshold() const{ return m_threshold; } /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline void SetThreshold(const Aws::String& value) { m_thresholdHasBeenSet = true; m_threshold = value; } /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline void SetThreshold(Aws::String&& value) { m_thresholdHasBeenSet = true; m_threshold = std::move(value); } /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline void SetThreshold(const char* value) { m_thresholdHasBeenSet = true; m_threshold.assign(value); } /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline SimpleRule& WithThreshold(const Aws::String& value) { SetThreshold(value); return *this;} /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline SimpleRule& WithThreshold(Aws::String&& value) { SetThreshold(std::move(value)); return *this;} /** *

The value on the right side of the comparison operator. You can enter a * number or specify an AWS IoT Events input attribute.

*/ inline SimpleRule& WithThreshold(const char* value) { SetThreshold(value); return *this;} private: Aws::String m_inputProperty; bool m_inputPropertyHasBeenSet = false; ComparisonOperator m_comparisonOperator; bool m_comparisonOperatorHasBeenSet = false; Aws::String m_threshold; bool m_thresholdHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws