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

Creates a subset of items within an attribute that are modified. For example, * you can use this operation to create a subset of items that cost $5 or less. To * do this, you specify "AttributeName": "price", * "AttributeValue": "5", and "Condition": "LESS_THAN". * Pair this operation with the Action operation within the * CreateWhatIfForecastRequest$TimeSeriesTransformations operation to define * how the attribute is modified.

See Also:

AWS * API Reference

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

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline const Aws::String& GetAttributeName() const{ return m_attributeName; } /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline bool AttributeNameHasBeenSet() const { return m_attributeNameHasBeenSet; } /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline void SetAttributeName(const Aws::String& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; } /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline void SetAttributeName(Aws::String&& value) { m_attributeNameHasBeenSet = true; m_attributeName = std::move(value); } /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline void SetAttributeName(const char* value) { m_attributeNameHasBeenSet = true; m_attributeName.assign(value); } /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline TimeSeriesCondition& WithAttributeName(const Aws::String& value) { SetAttributeName(value); return *this;} /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline TimeSeriesCondition& WithAttributeName(Aws::String&& value) { SetAttributeName(std::move(value)); return *this;} /** *

The item_id, dimension name, IM name, or timestamp that you are * modifying.

*/ inline TimeSeriesCondition& WithAttributeName(const char* value) { SetAttributeName(value); return *this;} /** *

The value that is applied for the chosen Condition.

*/ inline const Aws::String& GetAttributeValue() const{ return m_attributeValue; } /** *

The value that is applied for the chosen Condition.

*/ inline bool AttributeValueHasBeenSet() const { return m_attributeValueHasBeenSet; } /** *

The value that is applied for the chosen Condition.

*/ inline void SetAttributeValue(const Aws::String& value) { m_attributeValueHasBeenSet = true; m_attributeValue = value; } /** *

The value that is applied for the chosen Condition.

*/ inline void SetAttributeValue(Aws::String&& value) { m_attributeValueHasBeenSet = true; m_attributeValue = std::move(value); } /** *

The value that is applied for the chosen Condition.

*/ inline void SetAttributeValue(const char* value) { m_attributeValueHasBeenSet = true; m_attributeValue.assign(value); } /** *

The value that is applied for the chosen Condition.

*/ inline TimeSeriesCondition& WithAttributeValue(const Aws::String& value) { SetAttributeValue(value); return *this;} /** *

The value that is applied for the chosen Condition.

*/ inline TimeSeriesCondition& WithAttributeValue(Aws::String&& value) { SetAttributeValue(std::move(value)); return *this;} /** *

The value that is applied for the chosen Condition.

*/ inline TimeSeriesCondition& WithAttributeValue(const char* value) { SetAttributeValue(value); return *this;} /** *

The condition to apply. Valid values are EQUALS, * NOT_EQUALS, LESS_THAN and * GREATER_THAN.

*/ inline const Condition& GetCondition() const{ return m_condition; } /** *

The condition to apply. Valid values are EQUALS, * NOT_EQUALS, LESS_THAN and * GREATER_THAN.

*/ inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; } /** *

The condition to apply. Valid values are EQUALS, * NOT_EQUALS, LESS_THAN and * GREATER_THAN.

*/ inline void SetCondition(const Condition& value) { m_conditionHasBeenSet = true; m_condition = value; } /** *

The condition to apply. Valid values are EQUALS, * NOT_EQUALS, LESS_THAN and * GREATER_THAN.

*/ inline void SetCondition(Condition&& value) { m_conditionHasBeenSet = true; m_condition = std::move(value); } /** *

The condition to apply. Valid values are EQUALS, * NOT_EQUALS, LESS_THAN and * GREATER_THAN.

*/ inline TimeSeriesCondition& WithCondition(const Condition& value) { SetCondition(value); return *this;} /** *

The condition to apply. Valid values are EQUALS, * NOT_EQUALS, LESS_THAN and * GREATER_THAN.

*/ inline TimeSeriesCondition& WithCondition(Condition&& value) { SetCondition(std::move(value)); return *this;} private: Aws::String m_attributeName; bool m_attributeNameHasBeenSet = false; Aws::String m_attributeValue; bool m_attributeValueHasBeenSet = false; Condition m_condition; bool m_conditionHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws