/** * 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 { /** *

A structure that uses CloudWatch metrics to gather data about the service * quota.

See Also:

AWS * API Reference

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The namespace of the metric. The namespace is a container for CloudWatch * metrics. You can specify a name for the namespace when you create a metric.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

The name of the CloudWatch metric that measures usage of a service quota. * This is a required field.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

A dimension is a name/value pair that is part of the identity of a metric. * Every metric has specific characteristics that describe it, and you can think of * dimensions as categories for those characteristics. These dimensions are part of * the CloudWatch Metric Identity that measures usage against a particular service * quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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

Statistics are metric data aggregations over specified periods of time. This * is the recommended statistic to use when comparing usage in the CloudWatch * Metric against your Service Quota.

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