/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DevOpsGuru { namespace Model { /** *

Information about an Amazon CloudWatch metric.

See Also:

* AWS * API Reference

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The name of the CloudWatch metric.

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

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline CloudWatchMetricsDetail& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline CloudWatchMetricsDetail& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace of the CloudWatch metric. A namespace is a container for * CloudWatch metrics.

*/ inline CloudWatchMetricsDetail& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

An array of CloudWatch dimensions associated with

*/ inline const Aws::Vector& GetDimensions() const{ return m_dimensions; } /** *

An array of CloudWatch dimensions associated with

*/ inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } /** *

An array of CloudWatch dimensions associated with

*/ inline void SetDimensions(const Aws::Vector& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } /** *

An array of CloudWatch dimensions associated with

*/ inline void SetDimensions(Aws::Vector&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } /** *

An array of CloudWatch dimensions associated with

*/ inline CloudWatchMetricsDetail& WithDimensions(const Aws::Vector& value) { SetDimensions(value); return *this;} /** *

An array of CloudWatch dimensions associated with

*/ inline CloudWatchMetricsDetail& WithDimensions(Aws::Vector&& value) { SetDimensions(std::move(value)); return *this;} /** *

An array of CloudWatch dimensions associated with

*/ inline CloudWatchMetricsDetail& AddDimensions(const CloudWatchMetricsDimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } /** *

An array of CloudWatch dimensions associated with

*/ inline CloudWatchMetricsDetail& AddDimensions(CloudWatchMetricsDimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; } /** *

The type of statistic associated with the CloudWatch metric. For more * information, see Statistics * in the Amazon CloudWatch User Guide.

*/ inline const CloudWatchMetricsStat& GetStat() const{ return m_stat; } /** *

The type of statistic associated with the CloudWatch metric. For more * information, see Statistics * in the Amazon CloudWatch User Guide.

*/ inline bool StatHasBeenSet() const { return m_statHasBeenSet; } /** *

The type of statistic associated with the CloudWatch metric. For more * information, see Statistics * in the Amazon CloudWatch User Guide.

*/ inline void SetStat(const CloudWatchMetricsStat& value) { m_statHasBeenSet = true; m_stat = value; } /** *

The type of statistic associated with the CloudWatch metric. For more * information, see Statistics * in the Amazon CloudWatch User Guide.

*/ inline void SetStat(CloudWatchMetricsStat&& value) { m_statHasBeenSet = true; m_stat = std::move(value); } /** *

The type of statistic associated with the CloudWatch metric. For more * information, see Statistics * in the Amazon CloudWatch User Guide.

*/ inline CloudWatchMetricsDetail& WithStat(const CloudWatchMetricsStat& value) { SetStat(value); return *this;} /** *

The type of statistic associated with the CloudWatch metric. For more * information, see Statistics * in the Amazon CloudWatch User Guide.

*/ inline CloudWatchMetricsDetail& WithStat(CloudWatchMetricsStat&& value) { SetStat(std::move(value)); return *this;} /** *

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

*/ inline const Aws::String& GetUnit() const{ return m_unit; } /** *

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

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

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

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

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

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

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

*/ inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } /** *

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

*/ inline CloudWatchMetricsDetail& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} /** *

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

*/ inline CloudWatchMetricsDetail& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} /** *

The unit of measure used for the CloudWatch metric. For example, * Bytes, Seconds, Count, and * Percent.

*/ inline CloudWatchMetricsDetail& WithUnit(const char* value) { SetUnit(value); return *this;} /** *

The length of time associated with the CloudWatch metric in number of * seconds.

*/ inline int GetPeriod() const{ return m_period; } /** *

The length of time associated with the CloudWatch metric in number of * seconds.

*/ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *

The length of time associated with the CloudWatch metric in number of * seconds.

*/ inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; } /** *

The length of time associated with the CloudWatch metric in number of * seconds.

*/ inline CloudWatchMetricsDetail& WithPeriod(int value) { SetPeriod(value); return *this;} /** *

This object returns anomaly metric data.

*/ inline const CloudWatchMetricsDataSummary& GetMetricDataSummary() const{ return m_metricDataSummary; } /** *

This object returns anomaly metric data.

*/ inline bool MetricDataSummaryHasBeenSet() const { return m_metricDataSummaryHasBeenSet; } /** *

This object returns anomaly metric data.

*/ inline void SetMetricDataSummary(const CloudWatchMetricsDataSummary& value) { m_metricDataSummaryHasBeenSet = true; m_metricDataSummary = value; } /** *

This object returns anomaly metric data.

*/ inline void SetMetricDataSummary(CloudWatchMetricsDataSummary&& value) { m_metricDataSummaryHasBeenSet = true; m_metricDataSummary = std::move(value); } /** *

This object returns anomaly metric data.

*/ inline CloudWatchMetricsDetail& WithMetricDataSummary(const CloudWatchMetricsDataSummary& value) { SetMetricDataSummary(value); return *this;} /** *

This object returns anomaly metric data.

*/ inline CloudWatchMetricsDetail& WithMetricDataSummary(CloudWatchMetricsDataSummary&& value) { SetMetricDataSummary(std::move(value)); return *this;} private: Aws::String m_metricName; bool m_metricNameHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; Aws::Vector m_dimensions; bool m_dimensionsHasBeenSet = false; CloudWatchMetricsStat m_stat; bool m_statHasBeenSet = false; Aws::String m_unit; bool m_unitHasBeenSet = false; int m_period; bool m_periodHasBeenSet = false; CloudWatchMetricsDataSummary m_metricDataSummary; bool m_metricDataSummaryHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws