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

The exclude period of TimeRangeFilter or * RelativeDatesFilter.

See Also:

AWS * API Reference

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

The amount or number of the exclude period.

*/ inline int GetAmount() const{ return m_amount; } /** *

The amount or number of the exclude period.

*/ inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; } /** *

The amount or number of the exclude period.

*/ inline void SetAmount(int value) { m_amountHasBeenSet = true; m_amount = value; } /** *

The amount or number of the exclude period.

*/ inline ExcludePeriodConfiguration& WithAmount(int value) { SetAmount(value); return *this;} /** *

The granularity or unit (day, month, year) of the exclude period.

*/ inline const TimeGranularity& GetGranularity() const{ return m_granularity; } /** *

The granularity or unit (day, month, year) of the exclude period.

*/ inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; } /** *

The granularity or unit (day, month, year) of the exclude period.

*/ inline void SetGranularity(const TimeGranularity& value) { m_granularityHasBeenSet = true; m_granularity = value; } /** *

The granularity or unit (day, month, year) of the exclude period.

*/ inline void SetGranularity(TimeGranularity&& value) { m_granularityHasBeenSet = true; m_granularity = std::move(value); } /** *

The granularity or unit (day, month, year) of the exclude period.

*/ inline ExcludePeriodConfiguration& WithGranularity(const TimeGranularity& value) { SetGranularity(value); return *this;} /** *

The granularity or unit (day, month, year) of the exclude period.

*/ inline ExcludePeriodConfiguration& WithGranularity(TimeGranularity&& value) { SetGranularity(std::move(value)); return *this;} /** *

The status of the exclude period. Choose from the following options:

    *
  • ENABLED

  • DISABLED

    *
*/ inline const WidgetStatus& GetStatus() const{ return m_status; } /** *

The status of the exclude period. Choose from the following options:

    *
  • ENABLED

  • DISABLED

    *
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the exclude period. Choose from the following options:

    *
  • ENABLED

  • DISABLED

    *
*/ inline void SetStatus(const WidgetStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the exclude period. Choose from the following options:

    *
  • ENABLED

  • DISABLED

    *
*/ inline void SetStatus(WidgetStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the exclude period. Choose from the following options:

    *
  • ENABLED

  • DISABLED

    *
*/ inline ExcludePeriodConfiguration& WithStatus(const WidgetStatus& value) { SetStatus(value); return *this;} /** *

The status of the exclude period. Choose from the following options:

    *
  • ENABLED

  • DISABLED

    *
*/ inline ExcludePeriodConfiguration& WithStatus(WidgetStatus&& value) { SetStatus(std::move(value)); return *this;} private: int m_amount; bool m_amountHasBeenSet = false; TimeGranularity m_granularity; bool m_granularityHasBeenSet = false; WidgetStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws