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

Contains a time interval window used for data aggregate computations (for * example, average, sum, count, and so on).

See Also:

AWS * API Reference

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

The tumbling time interval window.

*/ inline const TumblingWindow& GetTumbling() const{ return m_tumbling; } /** *

The tumbling time interval window.

*/ inline bool TumblingHasBeenSet() const { return m_tumblingHasBeenSet; } /** *

The tumbling time interval window.

*/ inline void SetTumbling(const TumblingWindow& value) { m_tumblingHasBeenSet = true; m_tumbling = value; } /** *

The tumbling time interval window.

*/ inline void SetTumbling(TumblingWindow&& value) { m_tumblingHasBeenSet = true; m_tumbling = std::move(value); } /** *

The tumbling time interval window.

*/ inline MetricWindow& WithTumbling(const TumblingWindow& value) { SetTumbling(value); return *this;} /** *

The tumbling time interval window.

*/ inline MetricWindow& WithTumbling(TumblingWindow&& value) { SetTumbling(std::move(value)); return *this;} private: TumblingWindow m_tumbling; bool m_tumblingHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws