/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { class GetInsightRuleReportResult { public: AWS_CLOUDWATCH_API GetInsightRuleReportResult(); AWS_CLOUDWATCH_API GetInsightRuleReportResult(const Aws::AmazonWebServiceResult& result); AWS_CLOUDWATCH_API GetInsightRuleReportResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline const Aws::Vector& GetKeyLabels() const{ return m_keyLabels; } /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline void SetKeyLabels(const Aws::Vector& value) { m_keyLabels = value; } /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline void SetKeyLabels(Aws::Vector&& value) { m_keyLabels = std::move(value); } /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline GetInsightRuleReportResult& WithKeyLabels(const Aws::Vector& value) { SetKeyLabels(value); return *this;} /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline GetInsightRuleReportResult& WithKeyLabels(Aws::Vector&& value) { SetKeyLabels(std::move(value)); return *this;} /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline GetInsightRuleReportResult& AddKeyLabels(const Aws::String& value) { m_keyLabels.push_back(value); return *this; } /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline GetInsightRuleReportResult& AddKeyLabels(Aws::String&& value) { m_keyLabels.push_back(std::move(value)); return *this; } /** *

An array of the strings used as the keys for this rule. The keys are the * dimensions used to classify contributors. If the rule contains more than one * key, then each unique combination of values for the keys is counted as a unique * contributor.

*/ inline GetInsightRuleReportResult& AddKeyLabels(const char* value) { m_keyLabels.push_back(value); return *this; } /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline const Aws::String& GetAggregationStatistic() const{ return m_aggregationStatistic; } /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline void SetAggregationStatistic(const Aws::String& value) { m_aggregationStatistic = value; } /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline void SetAggregationStatistic(Aws::String&& value) { m_aggregationStatistic = std::move(value); } /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline void SetAggregationStatistic(const char* value) { m_aggregationStatistic.assign(value); } /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline GetInsightRuleReportResult& WithAggregationStatistic(const Aws::String& value) { SetAggregationStatistic(value); return *this;} /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline GetInsightRuleReportResult& WithAggregationStatistic(Aws::String&& value) { SetAggregationStatistic(std::move(value)); return *this;} /** *

Specifies whether this rule aggregates contributor data by COUNT or SUM.

*/ inline GetInsightRuleReportResult& WithAggregationStatistic(const char* value) { SetAggregationStatistic(value); return *this;} /** *

The sum of the values from all individual contributors that match the * rule.

*/ inline double GetAggregateValue() const{ return m_aggregateValue; } /** *

The sum of the values from all individual contributors that match the * rule.

*/ inline void SetAggregateValue(double value) { m_aggregateValue = value; } /** *

The sum of the values from all individual contributors that match the * rule.

*/ inline GetInsightRuleReportResult& WithAggregateValue(double value) { SetAggregateValue(value); return *this;} /** *

An approximate count of the unique contributors found by this rule in this * time period.

*/ inline long long GetApproximateUniqueCount() const{ return m_approximateUniqueCount; } /** *

An approximate count of the unique contributors found by this rule in this * time period.

*/ inline void SetApproximateUniqueCount(long long value) { m_approximateUniqueCount = value; } /** *

An approximate count of the unique contributors found by this rule in this * time period.

*/ inline GetInsightRuleReportResult& WithApproximateUniqueCount(long long value) { SetApproximateUniqueCount(value); return *this;} /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline const Aws::Vector& GetContributors() const{ return m_contributors; } /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline void SetContributors(const Aws::Vector& value) { m_contributors = value; } /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline void SetContributors(Aws::Vector&& value) { m_contributors = std::move(value); } /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline GetInsightRuleReportResult& WithContributors(const Aws::Vector& value) { SetContributors(value); return *this;} /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline GetInsightRuleReportResult& WithContributors(Aws::Vector&& value) { SetContributors(std::move(value)); return *this;} /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline GetInsightRuleReportResult& AddContributors(const InsightRuleContributor& value) { m_contributors.push_back(value); return *this; } /** *

An array of the unique contributors found by this rule in this time period. * If the rule contains multiple keys, each combination of values for the keys * counts as a unique contributor.

*/ inline GetInsightRuleReportResult& AddContributors(InsightRuleContributor&& value) { m_contributors.push_back(std::move(value)); return *this; } /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline const Aws::Vector& GetMetricDatapoints() const{ return m_metricDatapoints; } /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline void SetMetricDatapoints(const Aws::Vector& value) { m_metricDatapoints = value; } /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline void SetMetricDatapoints(Aws::Vector&& value) { m_metricDatapoints = std::move(value); } /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline GetInsightRuleReportResult& WithMetricDatapoints(const Aws::Vector& value) { SetMetricDatapoints(value); return *this;} /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline GetInsightRuleReportResult& WithMetricDatapoints(Aws::Vector&& value) { SetMetricDatapoints(std::move(value)); return *this;} /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline GetInsightRuleReportResult& AddMetricDatapoints(const InsightRuleMetricDatapoint& value) { m_metricDatapoints.push_back(value); return *this; } /** *

A time series of metric data points that matches the time period in the rule * request.

*/ inline GetInsightRuleReportResult& AddMetricDatapoints(InsightRuleMetricDatapoint&& value) { m_metricDatapoints.push_back(std::move(value)); return *this; } inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline GetInsightRuleReportResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline GetInsightRuleReportResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::Vector m_keyLabels; Aws::String m_aggregationStatistic; double m_aggregateValue; long long m_approximateUniqueCount; Aws::Vector m_contributors; Aws::Vector m_metricDatapoints; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace CloudWatch } // namespace Aws