/** * 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 namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { /** *

Encapsulates the statistical data that CloudWatch computes from metric * data.

See Also:

AWS * API Reference

*/ class Datapoint { public: AWS_CLOUDWATCH_API Datapoint(); AWS_CLOUDWATCH_API Datapoint(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API Datapoint& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The time stamp used for the data point.

*/ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } /** *

The time stamp used for the data point.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The time stamp used for the data point.

*/ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The time stamp used for the data point.

*/ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The time stamp used for the data point.

*/ inline Datapoint& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

The time stamp used for the data point.

*/ inline Datapoint& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The number of metric values that contributed to the aggregate value of this * data point.

*/ inline double GetSampleCount() const{ return m_sampleCount; } /** *

The number of metric values that contributed to the aggregate value of this * data point.

*/ inline bool SampleCountHasBeenSet() const { return m_sampleCountHasBeenSet; } /** *

The number of metric values that contributed to the aggregate value of this * data point.

*/ inline void SetSampleCount(double value) { m_sampleCountHasBeenSet = true; m_sampleCount = value; } /** *

The number of metric values that contributed to the aggregate value of this * data point.

*/ inline Datapoint& WithSampleCount(double value) { SetSampleCount(value); return *this;} /** *

The average of the metric values that correspond to the data point.

*/ inline double GetAverage() const{ return m_average; } /** *

The average of the metric values that correspond to the data point.

*/ inline bool AverageHasBeenSet() const { return m_averageHasBeenSet; } /** *

The average of the metric values that correspond to the data point.

*/ inline void SetAverage(double value) { m_averageHasBeenSet = true; m_average = value; } /** *

The average of the metric values that correspond to the data point.

*/ inline Datapoint& WithAverage(double value) { SetAverage(value); return *this;} /** *

The sum of the metric values for the data point.

*/ inline double GetSum() const{ return m_sum; } /** *

The sum of the metric values for the data point.

*/ inline bool SumHasBeenSet() const { return m_sumHasBeenSet; } /** *

The sum of the metric values for the data point.

*/ inline void SetSum(double value) { m_sumHasBeenSet = true; m_sum = value; } /** *

The sum of the metric values for the data point.

*/ inline Datapoint& WithSum(double value) { SetSum(value); return *this;} /** *

The minimum metric value for the data point.

*/ inline double GetMinimum() const{ return m_minimum; } /** *

The minimum metric value for the data point.

*/ inline bool MinimumHasBeenSet() const { return m_minimumHasBeenSet; } /** *

The minimum metric value for the data point.

*/ inline void SetMinimum(double value) { m_minimumHasBeenSet = true; m_minimum = value; } /** *

The minimum metric value for the data point.

*/ inline Datapoint& WithMinimum(double value) { SetMinimum(value); return *this;} /** *

The maximum metric value for the data point.

*/ inline double GetMaximum() const{ return m_maximum; } /** *

The maximum metric value for the data point.

*/ inline bool MaximumHasBeenSet() const { return m_maximumHasBeenSet; } /** *

The maximum metric value for the data point.

*/ inline void SetMaximum(double value) { m_maximumHasBeenSet = true; m_maximum = value; } /** *

The maximum metric value for the data point.

*/ inline Datapoint& WithMaximum(double value) { SetMaximum(value); return *this;} /** *

The standard unit for the data point.

*/ inline const StandardUnit& GetUnit() const{ return m_unit; } /** *

The standard unit for the data point.

*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *

The standard unit for the data point.

*/ inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; } /** *

The standard unit for the data point.

*/ inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *

The standard unit for the data point.

*/ inline Datapoint& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;} /** *

The standard unit for the data point.

*/ inline Datapoint& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;} /** *

The percentile statistic for the data point.

*/ inline const Aws::Map& GetExtendedStatistics() const{ return m_extendedStatistics; } /** *

The percentile statistic for the data point.

*/ inline bool ExtendedStatisticsHasBeenSet() const { return m_extendedStatisticsHasBeenSet; } /** *

The percentile statistic for the data point.

*/ inline void SetExtendedStatistics(const Aws::Map& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics = value; } /** *

The percentile statistic for the data point.

*/ inline void SetExtendedStatistics(Aws::Map&& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics = std::move(value); } /** *

The percentile statistic for the data point.

*/ inline Datapoint& WithExtendedStatistics(const Aws::Map& value) { SetExtendedStatistics(value); return *this;} /** *

The percentile statistic for the data point.

*/ inline Datapoint& WithExtendedStatistics(Aws::Map&& value) { SetExtendedStatistics(std::move(value)); return *this;} /** *

The percentile statistic for the data point.

*/ inline Datapoint& AddExtendedStatistics(const Aws::String& key, double value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.emplace(key, value); return *this; } /** *

The percentile statistic for the data point.

*/ inline Datapoint& AddExtendedStatistics(Aws::String&& key, double value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.emplace(std::move(key), value); return *this; } /** *

The percentile statistic for the data point.

*/ inline Datapoint& AddExtendedStatistics(const char* key, double value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.emplace(key, value); return *this; } private: Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; double m_sampleCount; bool m_sampleCountHasBeenSet = false; double m_average; bool m_averageHasBeenSet = false; double m_sum; bool m_sumHasBeenSet = false; double m_minimum; bool m_minimumHasBeenSet = false; double m_maximum; bool m_maximumHasBeenSet = false; StandardUnit m_unit; bool m_unitHasBeenSet = false; Aws::Map m_extendedStatistics; bool m_extendedStatisticsHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws