/** * 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 tumbling window, which is a repeating fixed-sized, * non-overlapping, and contiguous time interval. This window is used in metric and * aggregation computations.

See Also:

AWS * API Reference

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

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline const Aws::String& GetInterval() const{ return m_interval; } /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; } /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline void SetInterval(const Aws::String& value) { m_intervalHasBeenSet = true; m_interval = value; } /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline void SetInterval(Aws::String&& value) { m_intervalHasBeenSet = true; m_interval = std::move(value); } /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline void SetInterval(const char* value) { m_intervalHasBeenSet = true; m_interval.assign(value); } /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline TumblingWindow& WithInterval(const Aws::String& value) { SetInterval(value); return *this;} /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline TumblingWindow& WithInterval(Aws::String&& value) { SetInterval(std::move(value)); return *this;} /** *

The time interval for the tumbling window. Note that w * represents weeks, d represents days, h represents * hours, and m represents minutes. AWS IoT SiteWise computes the * 1w interval the end of Sunday at midnight each week (UTC), the * 1d interval at the end of each day at midnight (UTC), the * 1h interval at the end of each hour, and so on.

When AWS * IoT SiteWise aggregates data points for metric computations, the start of each * interval is exclusive and the end of each interval is inclusive. AWS IoT * SiteWise places the computed data point at the end of the interval.

*/ inline TumblingWindow& WithInterval(const char* value) { SetInterval(value); return *this;} private: Aws::String m_interval; bool m_intervalHasBeenSet; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws