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

The conditions including range, object count, and threshold for the * calculated attribute.

See Also:

AWS * API Reference

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

The relative time period over which data is included in the aggregation.

*/ inline const Range& GetRange() const{ return m_range; } /** *

The relative time period over which data is included in the aggregation.

*/ inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } /** *

The relative time period over which data is included in the aggregation.

*/ inline void SetRange(const Range& value) { m_rangeHasBeenSet = true; m_range = value; } /** *

The relative time period over which data is included in the aggregation.

*/ inline void SetRange(Range&& value) { m_rangeHasBeenSet = true; m_range = std::move(value); } /** *

The relative time period over which data is included in the aggregation.

*/ inline Conditions& WithRange(const Range& value) { SetRange(value); return *this;} /** *

The relative time period over which data is included in the aggregation.

*/ inline Conditions& WithRange(Range&& value) { SetRange(std::move(value)); return *this;} /** *

The number of profile objects used for the calculated attribute.

*/ inline int GetObjectCount() const{ return m_objectCount; } /** *

The number of profile objects used for the calculated attribute.

*/ inline bool ObjectCountHasBeenSet() const { return m_objectCountHasBeenSet; } /** *

The number of profile objects used for the calculated attribute.

*/ inline void SetObjectCount(int value) { m_objectCountHasBeenSet = true; m_objectCount = value; } /** *

The number of profile objects used for the calculated attribute.

*/ inline Conditions& WithObjectCount(int value) { SetObjectCount(value); return *this;} /** *

The threshold for the calculated attribute.

*/ inline const Threshold& GetThreshold() const{ return m_threshold; } /** *

The threshold for the calculated attribute.

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

The threshold for the calculated attribute.

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

The threshold for the calculated attribute.

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

The threshold for the calculated attribute.

*/ inline Conditions& WithThreshold(const Threshold& value) { SetThreshold(value); return *this;} /** *

The threshold for the calculated attribute.

*/ inline Conditions& WithThreshold(Threshold&& value) { SetThreshold(std::move(value)); return *this;} private: Range m_range; bool m_rangeHasBeenSet = false; int m_objectCount; bool m_objectCountHasBeenSet = false; Threshold m_threshold; bool m_thresholdHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws