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

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. This structure contains information for one metric * that includes additional statistics in the stream. For more information about * statistics, see CloudWatch, listed in * CloudWatch statistics definitions.

See Also:

AWS * API Reference

*/ class MetricStreamStatisticsConfiguration { public: AWS_CLOUDWATCH_API MetricStreamStatisticsConfiguration(); AWS_CLOUDWATCH_API MetricStreamStatisticsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API MetricStreamStatisticsConfiguration& 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; /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline const Aws::Vector& GetIncludeMetrics() const{ return m_includeMetrics; } /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline bool IncludeMetricsHasBeenSet() const { return m_includeMetricsHasBeenSet; } /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline void SetIncludeMetrics(const Aws::Vector& value) { m_includeMetricsHasBeenSet = true; m_includeMetrics = value; } /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline void SetIncludeMetrics(Aws::Vector&& value) { m_includeMetricsHasBeenSet = true; m_includeMetrics = std::move(value); } /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline MetricStreamStatisticsConfiguration& WithIncludeMetrics(const Aws::Vector& value) { SetIncludeMetrics(value); return *this;} /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline MetricStreamStatisticsConfiguration& WithIncludeMetrics(Aws::Vector&& value) { SetIncludeMetrics(std::move(value)); return *this;} /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline MetricStreamStatisticsConfiguration& AddIncludeMetrics(const MetricStreamStatisticsMetric& value) { m_includeMetricsHasBeenSet = true; m_includeMetrics.push_back(value); return *this; } /** *

An array of metric name and namespace pairs that stream the additional * statistics listed in the value of the AdditionalStatistics * parameter. There can be as many as 100 pairs in the array.

All metrics * that match the combination of metric name and namespace will be streamed with * the additional statistics, no matter their dimensions.

*/ inline MetricStreamStatisticsConfiguration& AddIncludeMetrics(MetricStreamStatisticsMetric&& value) { m_includeMetricsHasBeenSet = true; m_includeMetrics.push_back(std::move(value)); return *this; } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline const Aws::Vector& GetAdditionalStatistics() const{ return m_additionalStatistics; } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline bool AdditionalStatisticsHasBeenSet() const { return m_additionalStatisticsHasBeenSet; } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline void SetAdditionalStatistics(const Aws::Vector& value) { m_additionalStatisticsHasBeenSet = true; m_additionalStatistics = value; } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline void SetAdditionalStatistics(Aws::Vector&& value) { m_additionalStatisticsHasBeenSet = true; m_additionalStatistics = std::move(value); } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline MetricStreamStatisticsConfiguration& WithAdditionalStatistics(const Aws::Vector& value) { SetAdditionalStatistics(value); return *this;} /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline MetricStreamStatisticsConfiguration& WithAdditionalStatistics(Aws::Vector&& value) { SetAdditionalStatistics(std::move(value)); return *this;} /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline MetricStreamStatisticsConfiguration& AddAdditionalStatistics(const Aws::String& value) { m_additionalStatisticsHasBeenSet = true; m_additionalStatistics.push_back(value); return *this; } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline MetricStreamStatisticsConfiguration& AddAdditionalStatistics(Aws::String&& value) { m_additionalStatisticsHasBeenSet = true; m_additionalStatistics.push_back(std::move(value)); return *this; } /** *

The list of additional statistics that are to be streamed for the metrics * listed in the IncludeMetrics array in this structure. This list can * include as many as 20 statistics.

If the OutputFormat for * the stream is opentelemetry0.7, the only valid values are * p?? percentile statistics such as p90, * p99 and so on.

If the OutputFormat for the * stream is json, the valid values include the abbreviations for all * of the statistics listed in * CloudWatch statistics definitions. For example, this includes tm98, * wm90, PR(:300), and so on.

*/ inline MetricStreamStatisticsConfiguration& AddAdditionalStatistics(const char* value) { m_additionalStatisticsHasBeenSet = true; m_additionalStatistics.push_back(value); return *this; } private: Aws::Vector m_includeMetrics; bool m_includeMetricsHasBeenSet = false; Aws::Vector m_additionalStatistics; bool m_additionalStatisticsHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws