/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CloudWatch { namespace Model { /** */ class PutAnomalyDetectorRequest : public CloudWatchRequest { public: AWS_CLOUDWATCH_API PutAnomalyDetectorRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutAnomalyDetector"; } AWS_CLOUDWATCH_API Aws::String SerializePayload() const override; protected: AWS_CLOUDWATCH_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The configuration specifies details about how the anomaly detection model is * to be trained, including time ranges to exclude when training and updating the * model. You can specify as many as 10 time ranges.

The configuration can * also include 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 when training and updating the * model. You can specify as many as 10 time ranges.

The configuration can * also include 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 when training and updating the * model. You can specify as many as 10 time ranges.

The configuration can * also include 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 when training and updating the * model. You can specify as many as 10 time ranges.

The configuration can * also include 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 when training and updating the * model. You can specify as many as 10 time ranges.

The configuration can * also include the time zone to use for the metric.

*/ inline PutAnomalyDetectorRequest& 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 when training and updating the * model. You can specify as many as 10 time ranges.

The configuration can * also include the time zone to use for the metric.

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

A single metric anomaly detector to be created.

When using * SingleMetricAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the MetricMatchAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * single metric anomaly detector attributes as part of the property * SingleMetricAnomalyDetector.

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

A single metric anomaly detector to be created.

When using * SingleMetricAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the MetricMatchAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * single metric anomaly detector attributes as part of the property * SingleMetricAnomalyDetector.

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

A single metric anomaly detector to be created.

When using * SingleMetricAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the MetricMatchAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * single metric anomaly detector attributes as part of the property * SingleMetricAnomalyDetector.

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

A single metric anomaly detector to be created.

When using * SingleMetricAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the MetricMatchAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * single metric anomaly detector attributes as part of the property * SingleMetricAnomalyDetector.

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

A single metric anomaly detector to be created.

When using * SingleMetricAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the MetricMatchAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * single metric anomaly detector attributes as part of the property * SingleMetricAnomalyDetector.

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

A single metric anomaly detector to be created.

When using * SingleMetricAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the MetricMatchAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * single metric anomaly detector attributes as part of the property * SingleMetricAnomalyDetector.

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

The metric math anomaly detector to be created.

When using * MetricMathAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the SingleMetricAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * metric math anomaly detector attributes as part of the property * MetricMathAnomalyDetector.

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

The metric math anomaly detector to be created.

When using * MetricMathAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the SingleMetricAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * metric math anomaly detector attributes as part of the property * MetricMathAnomalyDetector.

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

The metric math anomaly detector to be created.

When using * MetricMathAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the SingleMetricAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * metric math anomaly detector attributes as part of the property * MetricMathAnomalyDetector.

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

The metric math anomaly detector to be created.

When using * MetricMathAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the SingleMetricAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * metric math anomaly detector attributes as part of the property * MetricMathAnomalyDetector.

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

The metric math anomaly detector to be created.

When using * MetricMathAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the SingleMetricAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * metric math anomaly detector attributes as part of the property * MetricMathAnomalyDetector.

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

The metric math anomaly detector to be created.

When using * MetricMathAnomalyDetector, you cannot include the following * parameters in the same operation:

  • Dimensions

    *
  • MetricName

  • * Namespace

  • Stat

  • *

    the SingleMetricAnomalyDetector parameters of * PutAnomalyDetectorInput

Instead, specify the * metric math anomaly detector attributes as part of the property * MetricMathAnomalyDetector.

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