/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { /** *

An anomaly detection model associated with a particular CloudWatch metric, * statistic, or metric math expression. You can use the model to display a band of * expected, normal values when the metric is graphed.

See Also:

* AWS * API Reference

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

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude from use for training the model, * and the time zone to use for the metric.

*/ inline const AnomalyDetectorConfiguration& GetConfiguration() const{ return m_configuration; } /** *

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude from use for training the model, * and the time zone to use for the metric.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude from use for training the model, * and the time zone to use for the metric.

*/ inline void SetConfiguration(const AnomalyDetectorConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude from use for training the model, * and the time zone to use for the metric.

*/ inline void SetConfiguration(AnomalyDetectorConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude from use for training the model, * and the time zone to use for the metric.

*/ inline AnomalyDetector& WithConfiguration(const AnomalyDetectorConfiguration& value) { SetConfiguration(value); return *this;} /** *

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude from use for training the model, * and the time zone to use for the metric.

*/ inline AnomalyDetector& WithConfiguration(AnomalyDetectorConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The current status of the anomaly detector's training. The possible values * are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

*/ inline const AnomalyDetectorStateValue& GetStateValue() const{ return m_stateValue; } /** *

The current status of the anomaly detector's training. The possible values * are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

*/ inline bool StateValueHasBeenSet() const { return m_stateValueHasBeenSet; } /** *

The current status of the anomaly detector's training. The possible values * are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

*/ inline void SetStateValue(const AnomalyDetectorStateValue& value) { m_stateValueHasBeenSet = true; m_stateValue = value; } /** *

The current status of the anomaly detector's training. The possible values * are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

*/ inline void SetStateValue(AnomalyDetectorStateValue&& value) { m_stateValueHasBeenSet = true; m_stateValue = std::move(value); } /** *

The current status of the anomaly detector's training. The possible values * are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

*/ inline AnomalyDetector& WithStateValue(const AnomalyDetectorStateValue& value) { SetStateValue(value); return *this;} /** *

The current status of the anomaly detector's training. The possible values * are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

*/ inline AnomalyDetector& WithStateValue(AnomalyDetectorStateValue&& value) { SetStateValue(std::move(value)); return *this;} /** *

The CloudWatch metric and statistic for this anomaly detector.

*/ inline const SingleMetricAnomalyDetector& GetSingleMetricAnomalyDetector() const{ return m_singleMetricAnomalyDetector; } /** *

The CloudWatch metric and statistic for this anomaly detector.

*/ inline bool SingleMetricAnomalyDetectorHasBeenSet() const { return m_singleMetricAnomalyDetectorHasBeenSet; } /** *

The CloudWatch metric and statistic for this anomaly detector.

*/ inline void SetSingleMetricAnomalyDetector(const SingleMetricAnomalyDetector& value) { m_singleMetricAnomalyDetectorHasBeenSet = true; m_singleMetricAnomalyDetector = value; } /** *

The CloudWatch metric and statistic for this anomaly detector.

*/ inline void SetSingleMetricAnomalyDetector(SingleMetricAnomalyDetector&& value) { m_singleMetricAnomalyDetectorHasBeenSet = true; m_singleMetricAnomalyDetector = std::move(value); } /** *

The CloudWatch metric and statistic for this anomaly detector.

*/ inline AnomalyDetector& WithSingleMetricAnomalyDetector(const SingleMetricAnomalyDetector& value) { SetSingleMetricAnomalyDetector(value); return *this;} /** *

The CloudWatch metric and statistic for this anomaly detector.

*/ inline AnomalyDetector& WithSingleMetricAnomalyDetector(SingleMetricAnomalyDetector&& value) { SetSingleMetricAnomalyDetector(std::move(value)); return *this;} /** *

The CloudWatch metric math expression for this anomaly detector.

*/ inline const MetricMathAnomalyDetector& GetMetricMathAnomalyDetector() const{ return m_metricMathAnomalyDetector; } /** *

The CloudWatch metric math expression for this anomaly detector.

*/ inline bool MetricMathAnomalyDetectorHasBeenSet() const { return m_metricMathAnomalyDetectorHasBeenSet; } /** *

The CloudWatch metric math expression for this anomaly detector.

*/ inline void SetMetricMathAnomalyDetector(const MetricMathAnomalyDetector& value) { m_metricMathAnomalyDetectorHasBeenSet = true; m_metricMathAnomalyDetector = value; } /** *

The CloudWatch metric math expression for this anomaly detector.

*/ inline void SetMetricMathAnomalyDetector(MetricMathAnomalyDetector&& value) { m_metricMathAnomalyDetectorHasBeenSet = true; m_metricMathAnomalyDetector = std::move(value); } /** *

The CloudWatch metric math expression for this anomaly detector.

*/ inline AnomalyDetector& WithMetricMathAnomalyDetector(const MetricMathAnomalyDetector& value) { SetMetricMathAnomalyDetector(value); return *this;} /** *

The CloudWatch metric math expression for this anomaly detector.

*/ inline AnomalyDetector& WithMetricMathAnomalyDetector(MetricMathAnomalyDetector&& value) { SetMetricMathAnomalyDetector(std::move(value)); return *this;} private: AnomalyDetectorConfiguration m_configuration; bool m_configurationHasBeenSet = false; AnomalyDetectorStateValue m_stateValue; bool m_stateValueHasBeenSet = false; SingleMetricAnomalyDetector m_singleMetricAnomalyDetector; bool m_singleMetricAnomalyDetectorHasBeenSet = false; MetricMathAnomalyDetector m_metricMathAnomalyDetector; bool m_metricMathAnomalyDetectorHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws