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

Contains information about one anomaly detector in the account.

See * Also:

AWS * API Reference

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

The ARN of the anomaly detector.

*/ inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } /** *

The ARN of the anomaly detector.

*/ inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } /** *

The ARN of the anomaly detector.

*/ inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } /** *

The ARN of the anomaly detector.

*/ inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } /** *

The ARN of the anomaly detector.

*/ inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } /** *

The ARN of the anomaly detector.

*/ inline AnomalyDetector& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} /** *

The ARN of the anomaly detector.

*/ inline AnomalyDetector& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} /** *

The ARN of the anomaly detector.

*/ inline AnomalyDetector& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} /** *

The name of the anomaly detector.

*/ inline const Aws::String& GetDetectorName() const{ return m_detectorName; } /** *

The name of the anomaly detector.

*/ inline bool DetectorNameHasBeenSet() const { return m_detectorNameHasBeenSet; } /** *

The name of the anomaly detector.

*/ inline void SetDetectorName(const Aws::String& value) { m_detectorNameHasBeenSet = true; m_detectorName = value; } /** *

The name of the anomaly detector.

*/ inline void SetDetectorName(Aws::String&& value) { m_detectorNameHasBeenSet = true; m_detectorName = std::move(value); } /** *

The name of the anomaly detector.

*/ inline void SetDetectorName(const char* value) { m_detectorNameHasBeenSet = true; m_detectorName.assign(value); } /** *

The name of the anomaly detector.

*/ inline AnomalyDetector& WithDetectorName(const Aws::String& value) { SetDetectorName(value); return *this;} /** *

The name of the anomaly detector.

*/ inline AnomalyDetector& WithDetectorName(Aws::String&& value) { SetDetectorName(std::move(value)); return *this;} /** *

The name of the anomaly detector.

*/ inline AnomalyDetector& WithDetectorName(const char* value) { SetDetectorName(value); return *this;} /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline const Aws::Vector& GetLogGroupArnList() const{ return m_logGroupArnList; } /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline bool LogGroupArnListHasBeenSet() const { return m_logGroupArnListHasBeenSet; } /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline void SetLogGroupArnList(const Aws::Vector& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = value; } /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline void SetLogGroupArnList(Aws::Vector&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = std::move(value); } /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline AnomalyDetector& WithLogGroupArnList(const Aws::Vector& value) { SetLogGroupArnList(value); return *this;} /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline AnomalyDetector& WithLogGroupArnList(Aws::Vector&& value) { SetLogGroupArnList(std::move(value)); return *this;} /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline AnomalyDetector& AddLogGroupArnList(const Aws::String& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline AnomalyDetector& AddLogGroupArnList(Aws::String&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(std::move(value)); return *this; } /** *

A list of the ARNs of the log groups that this anomaly detector watches.

*/ inline AnomalyDetector& AddLogGroupArnList(const char* value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } /** *

Specifies how often the anomaly detector runs and look for anomalies.

*/ inline const EvaluationFrequency& GetEvaluationFrequency() const{ return m_evaluationFrequency; } /** *

Specifies how often the anomaly detector runs and look for anomalies.

*/ inline bool EvaluationFrequencyHasBeenSet() const { return m_evaluationFrequencyHasBeenSet; } /** *

Specifies how often the anomaly detector runs and look for anomalies.

*/ inline void SetEvaluationFrequency(const EvaluationFrequency& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = value; } /** *

Specifies how often the anomaly detector runs and look for anomalies.

*/ inline void SetEvaluationFrequency(EvaluationFrequency&& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = std::move(value); } /** *

Specifies how often the anomaly detector runs and look for anomalies.

*/ inline AnomalyDetector& WithEvaluationFrequency(const EvaluationFrequency& value) { SetEvaluationFrequency(value); return *this;} /** *

Specifies how often the anomaly detector runs and look for anomalies.

*/ inline AnomalyDetector& WithEvaluationFrequency(EvaluationFrequency&& value) { SetEvaluationFrequency(std::move(value)); return *this;} inline const Aws::String& GetFilterPattern() const{ return m_filterPattern; } inline bool FilterPatternHasBeenSet() const { return m_filterPatternHasBeenSet; } inline void SetFilterPattern(const Aws::String& value) { m_filterPatternHasBeenSet = true; m_filterPattern = value; } inline void SetFilterPattern(Aws::String&& value) { m_filterPatternHasBeenSet = true; m_filterPattern = std::move(value); } inline void SetFilterPattern(const char* value) { m_filterPatternHasBeenSet = true; m_filterPattern.assign(value); } inline AnomalyDetector& WithFilterPattern(const Aws::String& value) { SetFilterPattern(value); return *this;} inline AnomalyDetector& WithFilterPattern(Aws::String&& value) { SetFilterPattern(std::move(value)); return *this;} inline AnomalyDetector& WithFilterPattern(const char* value) { SetFilterPattern(value); return *this;} /** *

Specifies the current status of the anomaly detector. To pause an anomaly * detector, use the enabled parameter in the UpdateLogAnomalyDetector * operation.

*/ inline const AnomalyDetectorStatus& GetAnomalyDetectorStatus() const{ return m_anomalyDetectorStatus; } /** *

Specifies the current status of the anomaly detector. To pause an anomaly * detector, use the enabled parameter in the UpdateLogAnomalyDetector * operation.

*/ inline bool AnomalyDetectorStatusHasBeenSet() const { return m_anomalyDetectorStatusHasBeenSet; } /** *

Specifies the current status of the anomaly detector. To pause an anomaly * detector, use the enabled parameter in the UpdateLogAnomalyDetector * operation.

*/ inline void SetAnomalyDetectorStatus(const AnomalyDetectorStatus& value) { m_anomalyDetectorStatusHasBeenSet = true; m_anomalyDetectorStatus = value; } /** *

Specifies the current status of the anomaly detector. To pause an anomaly * detector, use the enabled parameter in the UpdateLogAnomalyDetector * operation.

*/ inline void SetAnomalyDetectorStatus(AnomalyDetectorStatus&& value) { m_anomalyDetectorStatusHasBeenSet = true; m_anomalyDetectorStatus = std::move(value); } /** *

Specifies the current status of the anomaly detector. To pause an anomaly * detector, use the enabled parameter in the UpdateLogAnomalyDetector * operation.

*/ inline AnomalyDetector& WithAnomalyDetectorStatus(const AnomalyDetectorStatus& value) { SetAnomalyDetectorStatus(value); return *this;} /** *

Specifies the current status of the anomaly detector. To pause an anomaly * detector, use the enabled parameter in the UpdateLogAnomalyDetector * operation.

*/ inline AnomalyDetector& WithAnomalyDetectorStatus(AnomalyDetectorStatus&& value) { SetAnomalyDetectorStatus(std::move(value)); return *this;} /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline AnomalyDetector& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline AnomalyDetector& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The ID of the KMS key assigned to this anomaly detector, if any.

*/ inline AnomalyDetector& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The date and time when this anomaly detector was created.

*/ inline long long GetCreationTimeStamp() const{ return m_creationTimeStamp; } /** *

The date and time when this anomaly detector was created.

*/ inline bool CreationTimeStampHasBeenSet() const { return m_creationTimeStampHasBeenSet; } /** *

The date and time when this anomaly detector was created.

*/ inline void SetCreationTimeStamp(long long value) { m_creationTimeStampHasBeenSet = true; m_creationTimeStamp = value; } /** *

The date and time when this anomaly detector was created.

*/ inline AnomalyDetector& WithCreationTimeStamp(long long value) { SetCreationTimeStamp(value); return *this;} /** *

The date and time when this anomaly detector was most recently modified.

*/ inline long long GetLastModifiedTimeStamp() const{ return m_lastModifiedTimeStamp; } /** *

The date and time when this anomaly detector was most recently modified.

*/ inline bool LastModifiedTimeStampHasBeenSet() const { return m_lastModifiedTimeStampHasBeenSet; } /** *

The date and time when this anomaly detector was most recently modified.

*/ inline void SetLastModifiedTimeStamp(long long value) { m_lastModifiedTimeStampHasBeenSet = true; m_lastModifiedTimeStamp = value; } /** *

The date and time when this anomaly detector was most recently modified.

*/ inline AnomalyDetector& WithLastModifiedTimeStamp(long long value) { SetLastModifiedTimeStamp(value); return *this;} /** *

The number of days used as the life cycle of anomalies. After this time, * anomalies are automatically baselined and the anomaly detector model will treat * new occurrences of similar event as normal.

*/ inline long long GetAnomalyVisibilityTime() const{ return m_anomalyVisibilityTime; } /** *

The number of days used as the life cycle of anomalies. After this time, * anomalies are automatically baselined and the anomaly detector model will treat * new occurrences of similar event as normal.

*/ inline bool AnomalyVisibilityTimeHasBeenSet() const { return m_anomalyVisibilityTimeHasBeenSet; } /** *

The number of days used as the life cycle of anomalies. After this time, * anomalies are automatically baselined and the anomaly detector model will treat * new occurrences of similar event as normal.

*/ inline void SetAnomalyVisibilityTime(long long value) { m_anomalyVisibilityTimeHasBeenSet = true; m_anomalyVisibilityTime = value; } /** *

The number of days used as the life cycle of anomalies. After this time, * anomalies are automatically baselined and the anomaly detector model will treat * new occurrences of similar event as normal.

*/ inline AnomalyDetector& WithAnomalyVisibilityTime(long long value) { SetAnomalyVisibilityTime(value); return *this;} private: Aws::String m_anomalyDetectorArn; bool m_anomalyDetectorArnHasBeenSet = false; Aws::String m_detectorName; bool m_detectorNameHasBeenSet = false; Aws::Vector m_logGroupArnList; bool m_logGroupArnListHasBeenSet = false; EvaluationFrequency m_evaluationFrequency; bool m_evaluationFrequencyHasBeenSet = false; Aws::String m_filterPattern; bool m_filterPatternHasBeenSet = false; AnomalyDetectorStatus m_anomalyDetectorStatus; bool m_anomalyDetectorStatusHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; long long m_creationTimeStamp; bool m_creationTimeStampHasBeenSet = false; long long m_lastModifiedTimeStamp; bool m_lastModifiedTimeStampHasBeenSet = false; long long m_anomalyVisibilityTime; bool m_anomalyVisibilityTimeHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchLogs } // namespace Aws