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

Transformations allowed on the dataset. Supported transformations are * Filling and Aggregation. Filling * specifies how to add values to missing values in the dataset. * Aggregation defines how to aggregate data that does not align with * forecast frequency.

See Also:

AWS * API Reference

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

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline const Aws::Map>& GetFilling() const{ return m_filling; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline bool FillingHasBeenSet() const { return m_fillingHasBeenSet; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline void SetFilling(const Aws::Map>& value) { m_fillingHasBeenSet = true; m_filling = value; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline void SetFilling(Aws::Map>&& value) { m_fillingHasBeenSet = true; m_filling = std::move(value); } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& WithFilling(const Aws::Map>& value) { SetFilling(value); return *this;} /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& WithFilling(Aws::Map>&& value) { SetFilling(std::move(value)); return *this;} /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& AddFilling(const Aws::String& key, const Aws::Map& value) { m_fillingHasBeenSet = true; m_filling.emplace(key, value); return *this; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& AddFilling(Aws::String&& key, const Aws::Map& value) { m_fillingHasBeenSet = true; m_filling.emplace(std::move(key), value); return *this; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& AddFilling(const Aws::String& key, Aws::Map&& value) { m_fillingHasBeenSet = true; m_filling.emplace(key, std::move(value)); return *this; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& AddFilling(Aws::String&& key, Aws::Map&& value) { m_fillingHasBeenSet = true; m_filling.emplace(std::move(key), std::move(value)); return *this; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& AddFilling(const char* key, Aws::Map&& value) { m_fillingHasBeenSet = true; m_filling.emplace(key, std::move(value)); return *this; } /** *

A key value pair defining the filling method for a column, where the key is * the column name and the value is an object which defines the filling logic. You * can specify multiple filling methods for a single column.

The supported * filling methods and their corresponding options are:

  • * frontfill: none (Supported only for target column)

    *
  • middlefill: zero, value, * median, mean, min, max

    *
  • backfill: zero, value, * median, mean, min, max

    *
  • futurefill: zero, value, * median, mean, min, max

    *

To set a filling method to a specific value, set the fill * parameter to the chosen filling method value (for example "backfill" : * "value"), and define the filling value in an additional parameter * prefixed with "_value". For example, to set backfill to a value of * 2, you must include two parameters: "backfill": * "value" and "backfill_value":"2".

*/ inline TimeSeriesTransformations& AddFilling(const char* key, const Aws::Map& value) { m_fillingHasBeenSet = true; m_filling.emplace(key, value); return *this; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline const Aws::Map& GetAggregation() const{ return m_aggregation; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline bool AggregationHasBeenSet() const { return m_aggregationHasBeenSet; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline void SetAggregation(const Aws::Map& value) { m_aggregationHasBeenSet = true; m_aggregation = value; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline void SetAggregation(Aws::Map&& value) { m_aggregationHasBeenSet = true; m_aggregation = std::move(value); } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& WithAggregation(const Aws::Map& value) { SetAggregation(value); return *this;} /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& WithAggregation(Aws::Map&& value) { SetAggregation(std::move(value)); return *this;} /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& AddAggregation(const Aws::String& key, const AggregationTransformationValue& value) { m_aggregationHasBeenSet = true; m_aggregation.emplace(key, value); return *this; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& AddAggregation(Aws::String&& key, const AggregationTransformationValue& value) { m_aggregationHasBeenSet = true; m_aggregation.emplace(std::move(key), value); return *this; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& AddAggregation(const Aws::String& key, AggregationTransformationValue&& value) { m_aggregationHasBeenSet = true; m_aggregation.emplace(key, std::move(value)); return *this; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& AddAggregation(Aws::String&& key, AggregationTransformationValue&& value) { m_aggregationHasBeenSet = true; m_aggregation.emplace(std::move(key), std::move(value)); return *this; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& AddAggregation(const char* key, AggregationTransformationValue&& value) { m_aggregationHasBeenSet = true; m_aggregation.emplace(key, std::move(value)); return *this; } /** *

A key value pair defining the aggregation method for a column, where the key * is the column name and the value is the aggregation method.

The supported * aggregation methods are sum (default), avg, * first, min, max.

*

Aggregation is only supported for the target column.

*/ inline TimeSeriesTransformations& AddAggregation(const char* key, const AggregationTransformationValue& value) { m_aggregationHasBeenSet = true; m_aggregation.emplace(key, value); return *this; } private: Aws::Map> m_filling; bool m_fillingHasBeenSet = false; Aws::Map m_aggregation; bool m_aggregationHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws