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

An object that specifies how to interpolate data in a list.

See * Also:

AWS * API Reference

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

The interpolation type.

*/ inline const InterpolationType& GetInterpolationType() const{ return m_interpolationType; } /** *

The interpolation type.

*/ inline bool InterpolationTypeHasBeenSet() const { return m_interpolationTypeHasBeenSet; } /** *

The interpolation type.

*/ inline void SetInterpolationType(const InterpolationType& value) { m_interpolationTypeHasBeenSet = true; m_interpolationType = value; } /** *

The interpolation type.

*/ inline void SetInterpolationType(InterpolationType&& value) { m_interpolationTypeHasBeenSet = true; m_interpolationType = std::move(value); } /** *

The interpolation type.

*/ inline InterpolationParameters& WithInterpolationType(const InterpolationType& value) { SetInterpolationType(value); return *this;} /** *

The interpolation type.

*/ inline InterpolationParameters& WithInterpolationType(InterpolationType&& value) { SetInterpolationType(std::move(value)); return *this;} /** *

The interpolation time interval in seconds.

*/ inline long long GetIntervalInSeconds() const{ return m_intervalInSeconds; } /** *

The interpolation time interval in seconds.

*/ inline bool IntervalInSecondsHasBeenSet() const { return m_intervalInSecondsHasBeenSet; } /** *

The interpolation time interval in seconds.

*/ inline void SetIntervalInSeconds(long long value) { m_intervalInSecondsHasBeenSet = true; m_intervalInSeconds = value; } /** *

The interpolation time interval in seconds.

*/ inline InterpolationParameters& WithIntervalInSeconds(long long value) { SetIntervalInSeconds(value); return *this;} private: InterpolationType m_interpolationType; bool m_interpolationTypeHasBeenSet = false; long long m_intervalInSeconds; bool m_intervalInSecondsHasBeenSet = false; }; } // namespace Model } // namespace IoTTwinMaker } // namespace Aws