/** * 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 CostExplorer { namespace Model { /** *

This object continuously inspects your account's cost data for anomalies. * It's based on MonitorType and MonitorSpecification. * The content consists of detailed metadata and the current status of the monitor * object.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) value.

*/ inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } /** *

The Amazon Resource Name (ARN) value.

*/ inline bool MonitorArnHasBeenSet() const { return m_monitorArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) value.

*/ inline void SetMonitorArn(const Aws::String& value) { m_monitorArnHasBeenSet = true; m_monitorArn = value; } /** *

The Amazon Resource Name (ARN) value.

*/ inline void SetMonitorArn(Aws::String&& value) { m_monitorArnHasBeenSet = true; m_monitorArn = std::move(value); } /** *

The Amazon Resource Name (ARN) value.

*/ inline void SetMonitorArn(const char* value) { m_monitorArnHasBeenSet = true; m_monitorArn.assign(value); } /** *

The Amazon Resource Name (ARN) value.

*/ inline AnomalyMonitor& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} /** *

The Amazon Resource Name (ARN) value.

*/ inline AnomalyMonitor& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) value.

*/ inline AnomalyMonitor& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} /** *

The name of the monitor.

*/ inline const Aws::String& GetMonitorName() const{ return m_monitorName; } /** *

The name of the monitor.

*/ inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } /** *

The name of the monitor.

*/ inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } /** *

The name of the monitor.

*/ inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } /** *

The name of the monitor.

*/ inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } /** *

The name of the monitor.

*/ inline AnomalyMonitor& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} /** *

The name of the monitor.

*/ inline AnomalyMonitor& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} /** *

The name of the monitor.

*/ inline AnomalyMonitor& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} /** *

The date when the monitor was created.

*/ inline const Aws::String& GetCreationDate() const{ return m_creationDate; } /** *

The date when the monitor was created.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The date when the monitor was created.

*/ inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The date when the monitor was created.

*/ inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The date when the monitor was created.

*/ inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); } /** *

The date when the monitor was created.

*/ inline AnomalyMonitor& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;} /** *

The date when the monitor was created.

*/ inline AnomalyMonitor& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The date when the monitor was created.

*/ inline AnomalyMonitor& WithCreationDate(const char* value) { SetCreationDate(value); return *this;} /** *

The date when the monitor was last updated.

*/ inline const Aws::String& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } /** *

The date when the monitor was last updated.

*/ inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; } /** *

The date when the monitor was last updated.

*/ inline void SetLastUpdatedDate(const Aws::String& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; } /** *

The date when the monitor was last updated.

*/ inline void SetLastUpdatedDate(Aws::String&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); } /** *

The date when the monitor was last updated.

*/ inline void SetLastUpdatedDate(const char* value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate.assign(value); } /** *

The date when the monitor was last updated.

*/ inline AnomalyMonitor& WithLastUpdatedDate(const Aws::String& value) { SetLastUpdatedDate(value); return *this;} /** *

The date when the monitor was last updated.

*/ inline AnomalyMonitor& WithLastUpdatedDate(Aws::String&& value) { SetLastUpdatedDate(std::move(value)); return *this;} /** *

The date when the monitor was last updated.

*/ inline AnomalyMonitor& WithLastUpdatedDate(const char* value) { SetLastUpdatedDate(value); return *this;} /** *

The date when the monitor last evaluated for anomalies.

*/ inline const Aws::String& GetLastEvaluatedDate() const{ return m_lastEvaluatedDate; } /** *

The date when the monitor last evaluated for anomalies.

*/ inline bool LastEvaluatedDateHasBeenSet() const { return m_lastEvaluatedDateHasBeenSet; } /** *

The date when the monitor last evaluated for anomalies.

*/ inline void SetLastEvaluatedDate(const Aws::String& value) { m_lastEvaluatedDateHasBeenSet = true; m_lastEvaluatedDate = value; } /** *

The date when the monitor last evaluated for anomalies.

*/ inline void SetLastEvaluatedDate(Aws::String&& value) { m_lastEvaluatedDateHasBeenSet = true; m_lastEvaluatedDate = std::move(value); } /** *

The date when the monitor last evaluated for anomalies.

*/ inline void SetLastEvaluatedDate(const char* value) { m_lastEvaluatedDateHasBeenSet = true; m_lastEvaluatedDate.assign(value); } /** *

The date when the monitor last evaluated for anomalies.

*/ inline AnomalyMonitor& WithLastEvaluatedDate(const Aws::String& value) { SetLastEvaluatedDate(value); return *this;} /** *

The date when the monitor last evaluated for anomalies.

*/ inline AnomalyMonitor& WithLastEvaluatedDate(Aws::String&& value) { SetLastEvaluatedDate(std::move(value)); return *this;} /** *

The date when the monitor last evaluated for anomalies.

*/ inline AnomalyMonitor& WithLastEvaluatedDate(const char* value) { SetLastEvaluatedDate(value); return *this;} /** *

The possible type values.

*/ inline const MonitorType& GetMonitorType() const{ return m_monitorType; } /** *

The possible type values.

*/ inline bool MonitorTypeHasBeenSet() const { return m_monitorTypeHasBeenSet; } /** *

The possible type values.

*/ inline void SetMonitorType(const MonitorType& value) { m_monitorTypeHasBeenSet = true; m_monitorType = value; } /** *

The possible type values.

*/ inline void SetMonitorType(MonitorType&& value) { m_monitorTypeHasBeenSet = true; m_monitorType = std::move(value); } /** *

The possible type values.

*/ inline AnomalyMonitor& WithMonitorType(const MonitorType& value) { SetMonitorType(value); return *this;} /** *

The possible type values.

*/ inline AnomalyMonitor& WithMonitorType(MonitorType&& value) { SetMonitorType(std::move(value)); return *this;} /** *

The dimensions to evaluate.

*/ inline const MonitorDimension& GetMonitorDimension() const{ return m_monitorDimension; } /** *

The dimensions to evaluate.

*/ inline bool MonitorDimensionHasBeenSet() const { return m_monitorDimensionHasBeenSet; } /** *

The dimensions to evaluate.

*/ inline void SetMonitorDimension(const MonitorDimension& value) { m_monitorDimensionHasBeenSet = true; m_monitorDimension = value; } /** *

The dimensions to evaluate.

*/ inline void SetMonitorDimension(MonitorDimension&& value) { m_monitorDimensionHasBeenSet = true; m_monitorDimension = std::move(value); } /** *

The dimensions to evaluate.

*/ inline AnomalyMonitor& WithMonitorDimension(const MonitorDimension& value) { SetMonitorDimension(value); return *this;} /** *

The dimensions to evaluate.

*/ inline AnomalyMonitor& WithMonitorDimension(MonitorDimension&& value) { SetMonitorDimension(std::move(value)); return *this;} inline const Expression& GetMonitorSpecification() const{ return m_monitorSpecification; } inline bool MonitorSpecificationHasBeenSet() const { return m_monitorSpecificationHasBeenSet; } inline void SetMonitorSpecification(const Expression& value) { m_monitorSpecificationHasBeenSet = true; m_monitorSpecification = value; } inline void SetMonitorSpecification(Expression&& value) { m_monitorSpecificationHasBeenSet = true; m_monitorSpecification = std::move(value); } inline AnomalyMonitor& WithMonitorSpecification(const Expression& value) { SetMonitorSpecification(value); return *this;} inline AnomalyMonitor& WithMonitorSpecification(Expression&& value) { SetMonitorSpecification(std::move(value)); return *this;} /** *

The value for evaluated dimensions.

*/ inline int GetDimensionalValueCount() const{ return m_dimensionalValueCount; } /** *

The value for evaluated dimensions.

*/ inline bool DimensionalValueCountHasBeenSet() const { return m_dimensionalValueCountHasBeenSet; } /** *

The value for evaluated dimensions.

*/ inline void SetDimensionalValueCount(int value) { m_dimensionalValueCountHasBeenSet = true; m_dimensionalValueCount = value; } /** *

The value for evaluated dimensions.

*/ inline AnomalyMonitor& WithDimensionalValueCount(int value) { SetDimensionalValueCount(value); return *this;} private: Aws::String m_monitorArn; bool m_monitorArnHasBeenSet = false; Aws::String m_monitorName; bool m_monitorNameHasBeenSet = false; Aws::String m_creationDate; bool m_creationDateHasBeenSet = false; Aws::String m_lastUpdatedDate; bool m_lastUpdatedDateHasBeenSet = false; Aws::String m_lastEvaluatedDate; bool m_lastEvaluatedDateHasBeenSet = false; MonitorType m_monitorType; bool m_monitorTypeHasBeenSet = false; MonitorDimension m_monitorDimension; bool m_monitorDimensionHasBeenSet = false; Expression m_monitorSpecification; bool m_monitorSpecificationHasBeenSet = false; int m_dimensionalValueCount; bool m_dimensionalValueCountHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws