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

A transformation function is a pair of operations that select and modify the * rows in a related time series. You select the rows that you want with a * condition operation and you modify the rows with a transformation operation. All * conditions are joined with an AND operation, meaning that all conditions must be * true for the transformation to be applied. Transformations are applied in the * order that they are listed.

See Also:

AWS * API Reference

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

An array of actions that define a time series and how it is transformed. * These transformations create a new time series that is used for the what-if * analysis.

*/ inline const Action& GetAction() const{ return m_action; } /** *

An array of actions that define a time series and how it is transformed. * These transformations create a new time series that is used for the what-if * analysis.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

An array of actions that define a time series and how it is transformed. * These transformations create a new time series that is used for the what-if * analysis.

*/ inline void SetAction(const Action& value) { m_actionHasBeenSet = true; m_action = value; } /** *

An array of actions that define a time series and how it is transformed. * These transformations create a new time series that is used for the what-if * analysis.

*/ inline void SetAction(Action&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

An array of actions that define a time series and how it is transformed. * These transformations create a new time series that is used for the what-if * analysis.

*/ inline TimeSeriesTransformation& WithAction(const Action& value) { SetAction(value); return *this;} /** *

An array of actions that define a time series and how it is transformed. * These transformations create a new time series that is used for the what-if * analysis.

*/ inline TimeSeriesTransformation& WithAction(Action&& value) { SetAction(std::move(value)); return *this;} /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline const Aws::Vector& GetTimeSeriesConditions() const{ return m_timeSeriesConditions; } /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline bool TimeSeriesConditionsHasBeenSet() const { return m_timeSeriesConditionsHasBeenSet; } /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline void SetTimeSeriesConditions(const Aws::Vector& value) { m_timeSeriesConditionsHasBeenSet = true; m_timeSeriesConditions = value; } /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline void SetTimeSeriesConditions(Aws::Vector&& value) { m_timeSeriesConditionsHasBeenSet = true; m_timeSeriesConditions = std::move(value); } /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline TimeSeriesTransformation& WithTimeSeriesConditions(const Aws::Vector& value) { SetTimeSeriesConditions(value); return *this;} /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline TimeSeriesTransformation& WithTimeSeriesConditions(Aws::Vector&& value) { SetTimeSeriesConditions(std::move(value)); return *this;} /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline TimeSeriesTransformation& AddTimeSeriesConditions(const TimeSeriesCondition& value) { m_timeSeriesConditionsHasBeenSet = true; m_timeSeriesConditions.push_back(value); return *this; } /** *

An array of conditions that define which members of the related time series * are transformed.

*/ inline TimeSeriesTransformation& AddTimeSeriesConditions(TimeSeriesCondition&& value) { m_timeSeriesConditionsHasBeenSet = true; m_timeSeriesConditions.push_back(std::move(value)); return *this; } private: Action m_action; bool m_actionHasBeenSet = false; Aws::Vector m_timeSeriesConditions; bool m_timeSeriesConditionsHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws