/** * 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 { /** *

Defines the modifications that you are making to an attribute for a what-if * forecast. For example, you can use this operation to create a what-if forecast * that investigates a 10% off sale on all shoes. To do this, you specify * "AttributeName": "shoes", "Operation": "MULTIPLY", and * "Value": "0.90". Pair this operation with the * TimeSeriesCondition operation within the * CreateWhatIfForecastRequest$TimeSeriesTransformations operation to define * a subset of attribute items that are modified.

See Also:

AWS API * Reference

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The related time series that you are modifying. This value is case * insensitive.

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

The operation that is applied to the provided attribute. Operations * include:

  • ADD - adds Value to all * rows of AttributeName.

  • SUBTRACT - * subtracts Value from all rows of AttributeName.

    *
  • MULTIPLY - multiplies all rows of * AttributeName by Value.

  • * DIVIDE - divides all rows of AttributeName by * Value.

*/ inline const Operation& GetOperation() const{ return m_operation; } /** *

The operation that is applied to the provided attribute. Operations * include:

  • ADD - adds Value to all * rows of AttributeName.

  • SUBTRACT - * subtracts Value from all rows of AttributeName.

    *
  • MULTIPLY - multiplies all rows of * AttributeName by Value.

  • * DIVIDE - divides all rows of AttributeName by * Value.

*/ inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } /** *

The operation that is applied to the provided attribute. Operations * include:

  • ADD - adds Value to all * rows of AttributeName.

  • SUBTRACT - * subtracts Value from all rows of AttributeName.

    *
  • MULTIPLY - multiplies all rows of * AttributeName by Value.

  • * DIVIDE - divides all rows of AttributeName by * Value.

*/ inline void SetOperation(const Operation& value) { m_operationHasBeenSet = true; m_operation = value; } /** *

The operation that is applied to the provided attribute. Operations * include:

  • ADD - adds Value to all * rows of AttributeName.

  • SUBTRACT - * subtracts Value from all rows of AttributeName.

    *
  • MULTIPLY - multiplies all rows of * AttributeName by Value.

  • * DIVIDE - divides all rows of AttributeName by * Value.

*/ inline void SetOperation(Operation&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } /** *

The operation that is applied to the provided attribute. Operations * include:

  • ADD - adds Value to all * rows of AttributeName.

  • SUBTRACT - * subtracts Value from all rows of AttributeName.

    *
  • MULTIPLY - multiplies all rows of * AttributeName by Value.

  • * DIVIDE - divides all rows of AttributeName by * Value.

*/ inline Action& WithOperation(const Operation& value) { SetOperation(value); return *this;} /** *

The operation that is applied to the provided attribute. Operations * include:

  • ADD - adds Value to all * rows of AttributeName.

  • SUBTRACT - * subtracts Value from all rows of AttributeName.

    *
  • MULTIPLY - multiplies all rows of * AttributeName by Value.

  • * DIVIDE - divides all rows of AttributeName by * Value.

*/ inline Action& WithOperation(Operation&& value) { SetOperation(std::move(value)); return *this;} /** *

The value that is applied for the chosen Operation.

*/ inline double GetValue() const{ return m_value; } /** *

The value that is applied for the chosen Operation.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The value that is applied for the chosen Operation.

*/ inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } /** *

The value that is applied for the chosen Operation.

*/ inline Action& WithValue(double value) { SetValue(value); return *this;} private: Aws::String m_attributeName; bool m_attributeNameHasBeenSet = false; Operation m_operation; bool m_operationHasBeenSet = false; double m_value; bool m_valueHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws