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

Specifies the time window that utterance statistics are returned for. The * time window is always relative to the last time that the that utterances were * aggregated. For example, if the ListAggregatedUtterances operation * is called at 1600, the time window is set to 1 hour, and the last refresh time * was 1530, only utterances made between 1430 and 1530 are returned.

You * can choose the time window that statistics should be returned for.

  • *

    Hours - You can request utterance statistics for 1, 3, 6, 12, or 24 * hour time windows. Statistics are refreshed every half hour for 1 hour time * windows, and hourly for the other time windows.

  • Days - * You can request utterance statistics for 3 days. Statistics are refreshed every * 6 hours.

  • Weeks - You can see statistics for one or two * weeks. Statistics are refreshed every 12 hours for one week time windows, and * once per day for two week time windows.

See Also:

* AWS * API Reference

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

The type of time period that the timeValue field represents. *

*/ inline const TimeDimension& GetTimeDimension() const{ return m_timeDimension; } /** *

The type of time period that the timeValue field represents. *

*/ inline bool TimeDimensionHasBeenSet() const { return m_timeDimensionHasBeenSet; } /** *

The type of time period that the timeValue field represents. *

*/ inline void SetTimeDimension(const TimeDimension& value) { m_timeDimensionHasBeenSet = true; m_timeDimension = value; } /** *

The type of time period that the timeValue field represents. *

*/ inline void SetTimeDimension(TimeDimension&& value) { m_timeDimensionHasBeenSet = true; m_timeDimension = std::move(value); } /** *

The type of time period that the timeValue field represents. *

*/ inline RelativeAggregationDuration& WithTimeDimension(const TimeDimension& value) { SetTimeDimension(value); return *this;} /** *

The type of time period that the timeValue field represents. *

*/ inline RelativeAggregationDuration& WithTimeDimension(TimeDimension&& value) { SetTimeDimension(std::move(value)); return *this;} /** *

The period of the time window to gather statistics for. The valid value * depends on the setting of the timeDimension field.

  • *

    Hours - 1/3/6/12/24

  • Days - * 3

  • Weeks - 1/2

*/ inline int GetTimeValue() const{ return m_timeValue; } /** *

The period of the time window to gather statistics for. The valid value * depends on the setting of the timeDimension field.

  • *

    Hours - 1/3/6/12/24

  • Days - * 3

  • Weeks - 1/2

*/ inline bool TimeValueHasBeenSet() const { return m_timeValueHasBeenSet; } /** *

The period of the time window to gather statistics for. The valid value * depends on the setting of the timeDimension field.

  • *

    Hours - 1/3/6/12/24

  • Days - * 3

  • Weeks - 1/2

*/ inline void SetTimeValue(int value) { m_timeValueHasBeenSet = true; m_timeValue = value; } /** *

The period of the time window to gather statistics for. The valid value * depends on the setting of the timeDimension field.

  • *

    Hours - 1/3/6/12/24

  • Days - * 3

  • Weeks - 1/2

*/ inline RelativeAggregationDuration& WithTimeValue(int value) { SetTimeValue(value); return *this;} private: TimeDimension m_timeDimension; bool m_timeDimensionHasBeenSet = false; int m_timeValue; bool m_timeValueHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws