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

The computation union that is used in an insight visual.

This is a * union type structure. For this structure to be valid, only one of the attributes * can be defined.

See Also:

AWS * API Reference

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

The top ranked and bottom ranked computation configuration.

*/ inline const TopBottomRankedComputation& GetTopBottomRanked() const{ return m_topBottomRanked; } /** *

The top ranked and bottom ranked computation configuration.

*/ inline bool TopBottomRankedHasBeenSet() const { return m_topBottomRankedHasBeenSet; } /** *

The top ranked and bottom ranked computation configuration.

*/ inline void SetTopBottomRanked(const TopBottomRankedComputation& value) { m_topBottomRankedHasBeenSet = true; m_topBottomRanked = value; } /** *

The top ranked and bottom ranked computation configuration.

*/ inline void SetTopBottomRanked(TopBottomRankedComputation&& value) { m_topBottomRankedHasBeenSet = true; m_topBottomRanked = std::move(value); } /** *

The top ranked and bottom ranked computation configuration.

*/ inline Computation& WithTopBottomRanked(const TopBottomRankedComputation& value) { SetTopBottomRanked(value); return *this;} /** *

The top ranked and bottom ranked computation configuration.

*/ inline Computation& WithTopBottomRanked(TopBottomRankedComputation&& value) { SetTopBottomRanked(std::move(value)); return *this;} /** *

The top movers and bottom movers computation configuration.

*/ inline const TopBottomMoversComputation& GetTopBottomMovers() const{ return m_topBottomMovers; } /** *

The top movers and bottom movers computation configuration.

*/ inline bool TopBottomMoversHasBeenSet() const { return m_topBottomMoversHasBeenSet; } /** *

The top movers and bottom movers computation configuration.

*/ inline void SetTopBottomMovers(const TopBottomMoversComputation& value) { m_topBottomMoversHasBeenSet = true; m_topBottomMovers = value; } /** *

The top movers and bottom movers computation configuration.

*/ inline void SetTopBottomMovers(TopBottomMoversComputation&& value) { m_topBottomMoversHasBeenSet = true; m_topBottomMovers = std::move(value); } /** *

The top movers and bottom movers computation configuration.

*/ inline Computation& WithTopBottomMovers(const TopBottomMoversComputation& value) { SetTopBottomMovers(value); return *this;} /** *

The top movers and bottom movers computation configuration.

*/ inline Computation& WithTopBottomMovers(TopBottomMoversComputation&& value) { SetTopBottomMovers(std::move(value)); return *this;} /** *

The total aggregation computation configuration.

*/ inline const TotalAggregationComputation& GetTotalAggregation() const{ return m_totalAggregation; } /** *

The total aggregation computation configuration.

*/ inline bool TotalAggregationHasBeenSet() const { return m_totalAggregationHasBeenSet; } /** *

The total aggregation computation configuration.

*/ inline void SetTotalAggregation(const TotalAggregationComputation& value) { m_totalAggregationHasBeenSet = true; m_totalAggregation = value; } /** *

The total aggregation computation configuration.

*/ inline void SetTotalAggregation(TotalAggregationComputation&& value) { m_totalAggregationHasBeenSet = true; m_totalAggregation = std::move(value); } /** *

The total aggregation computation configuration.

*/ inline Computation& WithTotalAggregation(const TotalAggregationComputation& value) { SetTotalAggregation(value); return *this;} /** *

The total aggregation computation configuration.

*/ inline Computation& WithTotalAggregation(TotalAggregationComputation&& value) { SetTotalAggregation(std::move(value)); return *this;} /** *

The maximum and minimum computation configuration.

*/ inline const MaximumMinimumComputation& GetMaximumMinimum() const{ return m_maximumMinimum; } /** *

The maximum and minimum computation configuration.

*/ inline bool MaximumMinimumHasBeenSet() const { return m_maximumMinimumHasBeenSet; } /** *

The maximum and minimum computation configuration.

*/ inline void SetMaximumMinimum(const MaximumMinimumComputation& value) { m_maximumMinimumHasBeenSet = true; m_maximumMinimum = value; } /** *

The maximum and minimum computation configuration.

*/ inline void SetMaximumMinimum(MaximumMinimumComputation&& value) { m_maximumMinimumHasBeenSet = true; m_maximumMinimum = std::move(value); } /** *

The maximum and minimum computation configuration.

*/ inline Computation& WithMaximumMinimum(const MaximumMinimumComputation& value) { SetMaximumMinimum(value); return *this;} /** *

The maximum and minimum computation configuration.

*/ inline Computation& WithMaximumMinimum(MaximumMinimumComputation&& value) { SetMaximumMinimum(std::move(value)); return *this;} /** *

The metric comparison computation configuration.

*/ inline const MetricComparisonComputation& GetMetricComparison() const{ return m_metricComparison; } /** *

The metric comparison computation configuration.

*/ inline bool MetricComparisonHasBeenSet() const { return m_metricComparisonHasBeenSet; } /** *

The metric comparison computation configuration.

*/ inline void SetMetricComparison(const MetricComparisonComputation& value) { m_metricComparisonHasBeenSet = true; m_metricComparison = value; } /** *

The metric comparison computation configuration.

*/ inline void SetMetricComparison(MetricComparisonComputation&& value) { m_metricComparisonHasBeenSet = true; m_metricComparison = std::move(value); } /** *

The metric comparison computation configuration.

*/ inline Computation& WithMetricComparison(const MetricComparisonComputation& value) { SetMetricComparison(value); return *this;} /** *

The metric comparison computation configuration.

*/ inline Computation& WithMetricComparison(MetricComparisonComputation&& value) { SetMetricComparison(std::move(value)); return *this;} /** *

The period over period computation configuration.

*/ inline const PeriodOverPeriodComputation& GetPeriodOverPeriod() const{ return m_periodOverPeriod; } /** *

The period over period computation configuration.

*/ inline bool PeriodOverPeriodHasBeenSet() const { return m_periodOverPeriodHasBeenSet; } /** *

The period over period computation configuration.

*/ inline void SetPeriodOverPeriod(const PeriodOverPeriodComputation& value) { m_periodOverPeriodHasBeenSet = true; m_periodOverPeriod = value; } /** *

The period over period computation configuration.

*/ inline void SetPeriodOverPeriod(PeriodOverPeriodComputation&& value) { m_periodOverPeriodHasBeenSet = true; m_periodOverPeriod = std::move(value); } /** *

The period over period computation configuration.

*/ inline Computation& WithPeriodOverPeriod(const PeriodOverPeriodComputation& value) { SetPeriodOverPeriod(value); return *this;} /** *

The period over period computation configuration.

*/ inline Computation& WithPeriodOverPeriod(PeriodOverPeriodComputation&& value) { SetPeriodOverPeriod(std::move(value)); return *this;} /** *

The period to DataSetIdentifier computation configuration.

*/ inline const PeriodToDateComputation& GetPeriodToDate() const{ return m_periodToDate; } /** *

The period to DataSetIdentifier computation configuration.

*/ inline bool PeriodToDateHasBeenSet() const { return m_periodToDateHasBeenSet; } /** *

The period to DataSetIdentifier computation configuration.

*/ inline void SetPeriodToDate(const PeriodToDateComputation& value) { m_periodToDateHasBeenSet = true; m_periodToDate = value; } /** *

The period to DataSetIdentifier computation configuration.

*/ inline void SetPeriodToDate(PeriodToDateComputation&& value) { m_periodToDateHasBeenSet = true; m_periodToDate = std::move(value); } /** *

The period to DataSetIdentifier computation configuration.

*/ inline Computation& WithPeriodToDate(const PeriodToDateComputation& value) { SetPeriodToDate(value); return *this;} /** *

The period to DataSetIdentifier computation configuration.

*/ inline Computation& WithPeriodToDate(PeriodToDateComputation&& value) { SetPeriodToDate(std::move(value)); return *this;} /** *

The growth rate computation configuration.

*/ inline const GrowthRateComputation& GetGrowthRate() const{ return m_growthRate; } /** *

The growth rate computation configuration.

*/ inline bool GrowthRateHasBeenSet() const { return m_growthRateHasBeenSet; } /** *

The growth rate computation configuration.

*/ inline void SetGrowthRate(const GrowthRateComputation& value) { m_growthRateHasBeenSet = true; m_growthRate = value; } /** *

The growth rate computation configuration.

*/ inline void SetGrowthRate(GrowthRateComputation&& value) { m_growthRateHasBeenSet = true; m_growthRate = std::move(value); } /** *

The growth rate computation configuration.

*/ inline Computation& WithGrowthRate(const GrowthRateComputation& value) { SetGrowthRate(value); return *this;} /** *

The growth rate computation configuration.

*/ inline Computation& WithGrowthRate(GrowthRateComputation&& value) { SetGrowthRate(std::move(value)); return *this;} /** *

The unique values computation configuration.

*/ inline const UniqueValuesComputation& GetUniqueValues() const{ return m_uniqueValues; } /** *

The unique values computation configuration.

*/ inline bool UniqueValuesHasBeenSet() const { return m_uniqueValuesHasBeenSet; } /** *

The unique values computation configuration.

*/ inline void SetUniqueValues(const UniqueValuesComputation& value) { m_uniqueValuesHasBeenSet = true; m_uniqueValues = value; } /** *

The unique values computation configuration.

*/ inline void SetUniqueValues(UniqueValuesComputation&& value) { m_uniqueValuesHasBeenSet = true; m_uniqueValues = std::move(value); } /** *

The unique values computation configuration.

*/ inline Computation& WithUniqueValues(const UniqueValuesComputation& value) { SetUniqueValues(value); return *this;} /** *

The unique values computation configuration.

*/ inline Computation& WithUniqueValues(UniqueValuesComputation&& value) { SetUniqueValues(std::move(value)); return *this;} /** *

The forecast computation configuration.

*/ inline const ForecastComputation& GetForecast() const{ return m_forecast; } /** *

The forecast computation configuration.

*/ inline bool ForecastHasBeenSet() const { return m_forecastHasBeenSet; } /** *

The forecast computation configuration.

*/ inline void SetForecast(const ForecastComputation& value) { m_forecastHasBeenSet = true; m_forecast = value; } /** *

The forecast computation configuration.

*/ inline void SetForecast(ForecastComputation&& value) { m_forecastHasBeenSet = true; m_forecast = std::move(value); } /** *

The forecast computation configuration.

*/ inline Computation& WithForecast(const ForecastComputation& value) { SetForecast(value); return *this;} /** *

The forecast computation configuration.

*/ inline Computation& WithForecast(ForecastComputation&& value) { SetForecast(std::move(value)); return *this;} private: TopBottomRankedComputation m_topBottomRanked; bool m_topBottomRankedHasBeenSet = false; TopBottomMoversComputation m_topBottomMovers; bool m_topBottomMoversHasBeenSet = false; TotalAggregationComputation m_totalAggregation; bool m_totalAggregationHasBeenSet = false; MaximumMinimumComputation m_maximumMinimum; bool m_maximumMinimumHasBeenSet = false; MetricComparisonComputation m_metricComparison; bool m_metricComparisonHasBeenSet = false; PeriodOverPeriodComputation m_periodOverPeriod; bool m_periodOverPeriodHasBeenSet = false; PeriodToDateComputation m_periodToDate; bool m_periodToDateHasBeenSet = false; GrowthRateComputation m_growthRate; bool m_growthRateHasBeenSet = false; UniqueValuesComputation m_uniqueValues; bool m_uniqueValuesHasBeenSet = false; ForecastComputation m_forecast; bool m_forecastHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws