/** * 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 ServiceQuotas { namespace Model { /** *

Information about the CloudWatch metric that reflects quota * usage.

See Also:

AWS * API Reference

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

The namespace of the metric.

*/ inline const Aws::String& GetMetricNamespace() const{ return m_metricNamespace; } /** *

The namespace of the metric.

*/ inline bool MetricNamespaceHasBeenSet() const { return m_metricNamespaceHasBeenSet; } /** *

The namespace of the metric.

*/ inline void SetMetricNamespace(const Aws::String& value) { m_metricNamespaceHasBeenSet = true; m_metricNamespace = value; } /** *

The namespace of the metric.

*/ inline void SetMetricNamespace(Aws::String&& value) { m_metricNamespaceHasBeenSet = true; m_metricNamespace = std::move(value); } /** *

The namespace of the metric.

*/ inline void SetMetricNamespace(const char* value) { m_metricNamespaceHasBeenSet = true; m_metricNamespace.assign(value); } /** *

The namespace of the metric.

*/ inline MetricInfo& WithMetricNamespace(const Aws::String& value) { SetMetricNamespace(value); return *this;} /** *

The namespace of the metric.

*/ inline MetricInfo& WithMetricNamespace(Aws::String&& value) { SetMetricNamespace(std::move(value)); return *this;} /** *

The namespace of the metric.

*/ inline MetricInfo& WithMetricNamespace(const char* value) { SetMetricNamespace(value); return *this;} /** *

The name of the metric.

*/ inline const Aws::String& GetMetricName() const{ return m_metricName; } /** *

The name of the metric.

*/ inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } /** *

The name of the metric.

*/ inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } /** *

The name of the metric.

*/ inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } /** *

The name of the metric.

*/ inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } /** *

The name of the metric.

*/ inline MetricInfo& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} /** *

The name of the metric.

*/ inline MetricInfo& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} /** *

The name of the metric.

*/ inline MetricInfo& WithMetricName(const char* value) { SetMetricName(value); return *this;} /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline const Aws::Map& GetMetricDimensions() const{ return m_metricDimensions; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline bool MetricDimensionsHasBeenSet() const { return m_metricDimensionsHasBeenSet; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline void SetMetricDimensions(const Aws::Map& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions = value; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline void SetMetricDimensions(Aws::Map&& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions = std::move(value); } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& WithMetricDimensions(const Aws::Map& value) { SetMetricDimensions(value); return *this;} /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& WithMetricDimensions(Aws::Map&& value) { SetMetricDimensions(std::move(value)); return *this;} /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(const Aws::String& key, const Aws::String& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(key, value); return *this; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(Aws::String&& key, const Aws::String& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(std::move(key), value); return *this; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(const Aws::String& key, Aws::String&& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(key, std::move(value)); return *this; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(Aws::String&& key, Aws::String&& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(std::move(key), std::move(value)); return *this; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(const char* key, Aws::String&& value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(key, std::move(value)); return *this; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(Aws::String&& key, const char* value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(std::move(key), value); return *this; } /** *

The metric dimension. This is a name/value pair that is part of the identity * of a metric.

*/ inline MetricInfo& AddMetricDimensions(const char* key, const char* value) { m_metricDimensionsHasBeenSet = true; m_metricDimensions.emplace(key, value); return *this; } /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline const Aws::String& GetMetricStatisticRecommendation() const{ return m_metricStatisticRecommendation; } /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline bool MetricStatisticRecommendationHasBeenSet() const { return m_metricStatisticRecommendationHasBeenSet; } /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline void SetMetricStatisticRecommendation(const Aws::String& value) { m_metricStatisticRecommendationHasBeenSet = true; m_metricStatisticRecommendation = value; } /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline void SetMetricStatisticRecommendation(Aws::String&& value) { m_metricStatisticRecommendationHasBeenSet = true; m_metricStatisticRecommendation = std::move(value); } /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline void SetMetricStatisticRecommendation(const char* value) { m_metricStatisticRecommendationHasBeenSet = true; m_metricStatisticRecommendation.assign(value); } /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline MetricInfo& WithMetricStatisticRecommendation(const Aws::String& value) { SetMetricStatisticRecommendation(value); return *this;} /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline MetricInfo& WithMetricStatisticRecommendation(Aws::String&& value) { SetMetricStatisticRecommendation(std::move(value)); return *this;} /** *

The metric statistic that we recommend you use when determining quota * usage.

*/ inline MetricInfo& WithMetricStatisticRecommendation(const char* value) { SetMetricStatisticRecommendation(value); return *this;} private: Aws::String m_metricNamespace; bool m_metricNamespaceHasBeenSet = false; Aws::String m_metricName; bool m_metricNameHasBeenSet = false; Aws::Map m_metricDimensions; bool m_metricDimensionsHasBeenSet = false; Aws::String m_metricStatisticRecommendation; bool m_metricStatisticRecommendationHasBeenSet = false; }; } // namespace Model } // namespace ServiceQuotas } // namespace Aws