7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/crt/cbor/Cbor.h>
11#include <aws/monitoring/CloudWatch_EXPORTS.h>
12#include <aws/monitoring/model/ComparisonOperator.h>
13#include <aws/monitoring/model/Dimension.h>
14#include <aws/monitoring/model/EvaluationCriteria.h>
15#include <aws/monitoring/model/EvaluationState.h>
16#include <aws/monitoring/model/EvaluationWindow.h>
17#include <aws/monitoring/model/MetricDataQuery.h>
18#include <aws/monitoring/model/StandardUnit.h>
19#include <aws/monitoring/model/StateValue.h>
20#include <aws/monitoring/model/Statistic.h>
41 AWS_CLOUDWATCH_API
MetricAlarm(
const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
43 AWS_CLOUDWATCH_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
51 template <
typename AlarmNameT = Aws::String>
53 m_alarmNameHasBeenSet =
true;
54 m_alarmName = std::forward<AlarmNameT>(value);
56 template <
typename AlarmNameT = Aws::String>
69 template <
typename AlarmArnT = Aws::String>
71 m_alarmArnHasBeenSet =
true;
72 m_alarmArn = std::forward<AlarmArnT>(value);
74 template <
typename AlarmArnT = Aws::String>
87 template <
typename AlarmDescriptionT = Aws::String>
89 m_alarmDescriptionHasBeenSet =
true;
90 m_alarmDescription = std::forward<AlarmDescriptionT>(value);
92 template <
typename AlarmDescriptionT = Aws::String>
105 template <
typename AlarmConfigurationUpdatedTimestampT = Aws::Utils::DateTime>
107 m_alarmConfigurationUpdatedTimestampHasBeenSet =
true;
108 m_alarmConfigurationUpdatedTimestamp = std::forward<AlarmConfigurationUpdatedTimestampT>(value);
110 template <
typename AlarmConfigurationUpdatedTimestampT = Aws::Utils::DateTime>
125 m_actionsEnabledHasBeenSet =
true;
126 m_actionsEnabled = value;
142 template <
typename OKActionsT = Aws::Vector<Aws::String>>
144 m_oKActionsHasBeenSet =
true;
145 m_oKActions = std::forward<OKActionsT>(value);
147 template <
typename OKActionsT = Aws::Vector<Aws::String>>
152 template <
typename OKActionsT = Aws::String>
154 m_oKActionsHasBeenSet =
true;
155 m_oKActions.emplace_back(std::forward<OKActionsT>(value));
168 template <
typename AlarmActionsT = Aws::Vector<Aws::String>>
170 m_alarmActionsHasBeenSet =
true;
171 m_alarmActions = std::forward<AlarmActionsT>(value);
173 template <
typename AlarmActionsT = Aws::Vector<Aws::String>>
178 template <
typename AlarmActionsT = Aws::String>
180 m_alarmActionsHasBeenSet =
true;
181 m_alarmActions.emplace_back(std::forward<AlarmActionsT>(value));
194 template <
typename InsufficientDataActionsT = Aws::Vector<Aws::String>>
196 m_insufficientDataActionsHasBeenSet =
true;
197 m_insufficientDataActions = std::forward<InsufficientDataActionsT>(value);
199 template <
typename InsufficientDataActionsT = Aws::Vector<Aws::String>>
204 template <
typename InsufficientDataActionsT = Aws::String>
206 m_insufficientDataActionsHasBeenSet =
true;
207 m_insufficientDataActions.emplace_back(std::forward<InsufficientDataActionsT>(value));
219 m_stateValueHasBeenSet =
true;
220 m_stateValue = value;
234 template <
typename StateReasonT = Aws::String>
236 m_stateReasonHasBeenSet =
true;
237 m_stateReason = std::forward<StateReasonT>(value);
239 template <
typename StateReasonT = Aws::String>
252 template <
typename StateReasonDataT = Aws::String>
254 m_stateReasonDataHasBeenSet =
true;
255 m_stateReasonData = std::forward<StateReasonDataT>(value);
257 template <
typename StateReasonDataT = Aws::String>
271 template <
typename StateUpdatedTimestampT = Aws::Utils::DateTime>
273 m_stateUpdatedTimestampHasBeenSet =
true;
274 m_stateUpdatedTimestamp = std::forward<StateUpdatedTimestampT>(value);
276 template <
typename StateUpdatedTimestampT = Aws::Utils::DateTime>
290 template <
typename MetricNameT = Aws::String>
292 m_metricNameHasBeenSet =
true;
293 m_metricName = std::forward<MetricNameT>(value);
295 template <
typename MetricNameT = Aws::String>
308 template <
typename NamespaceT = Aws::String>
310 m_namespaceHasBeenSet =
true;
311 m_namespace = std::forward<NamespaceT>(value);
313 template <
typename NamespaceT = Aws::String>
328 m_statisticHasBeenSet =
true;
344 template <
typename ExtendedStatisticT = Aws::String>
346 m_extendedStatisticHasBeenSet =
true;
347 m_extendedStatistic = std::forward<ExtendedStatisticT>(value);
349 template <
typename ExtendedStatisticT = Aws::String>
362 template <
typename DimensionsT = Aws::Vector<Dimension>>
364 m_dimensionsHasBeenSet =
true;
365 m_dimensions = std::forward<DimensionsT>(value);
367 template <
typename DimensionsT = Aws::Vector<Dimension>>
372 template <
typename DimensionsT = Dimension>
374 m_dimensionsHasBeenSet =
true;
375 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
387 m_periodHasBeenSet =
true;
403 m_unitHasBeenSet =
true;
420 m_evaluationPeriodsHasBeenSet =
true;
421 m_evaluationPeriods = value;
436 m_datapointsToAlarmHasBeenSet =
true;
437 m_datapointsToAlarm = value;
452 m_thresholdHasBeenSet =
true;
469 m_comparisonOperatorHasBeenSet =
true;
470 m_comparisonOperator = value;
490 template <
typename TreatMissingDataT = Aws::String>
492 m_treatMissingDataHasBeenSet =
true;
493 m_treatMissingData = std::forward<TreatMissingDataT>(value);
495 template <
typename TreatMissingDataT = Aws::String>
512 template <
typename EvaluateLowSampleCountPercentileT = Aws::String>
514 m_evaluateLowSampleCountPercentileHasBeenSet =
true;
515 m_evaluateLowSampleCountPercentile = std::forward<EvaluateLowSampleCountPercentileT>(value);
517 template <
typename EvaluateLowSampleCountPercentileT = Aws::String>
534 template <
typename MetricsT = Aws::Vector<MetricDataQuery>>
536 m_metricsHasBeenSet =
true;
537 m_metrics = std::forward<MetricsT>(value);
539 template <
typename MetricsT = Aws::Vector<MetricDataQuery>>
544 template <
typename MetricsT = MetricDataQuery>
546 m_metricsHasBeenSet =
true;
547 m_metrics.emplace_back(std::forward<MetricsT>(value));
560 template <
typename ThresholdMetricIdT = Aws::String>
562 m_thresholdMetricIdHasBeenSet =
true;
563 m_thresholdMetricId = std::forward<ThresholdMetricIdT>(value);
565 template <
typename ThresholdMetricIdT = Aws::String>
588 m_evaluationStateHasBeenSet =
true;
589 m_evaluationState = value;
604 template <
typename StateTransitionedTimestampT = Aws::Utils::DateTime>
606 m_stateTransitionedTimestampHasBeenSet =
true;
607 m_stateTransitionedTimestamp = std::forward<StateTransitionedTimestampT>(value);
609 template <
typename StateTransitionedTimestampT = Aws::Utils::DateTime>
626 template <
typename EvaluationWindowT = EvaluationWindow>
628 m_evaluationWindowHasBeenSet =
true;
629 m_evaluationWindow = std::forward<EvaluationWindowT>(value);
631 template <
typename EvaluationWindowT = EvaluationWindow>
644 template <
typename EvaluationCriteriaT = EvaluationCriteria>
646 m_evaluationCriteriaHasBeenSet =
true;
647 m_evaluationCriteria = std::forward<EvaluationCriteriaT>(value);
649 template <
typename EvaluationCriteriaT = EvaluationCriteria>
663 m_evaluationIntervalHasBeenSet =
true;
664 m_evaluationInterval = value;
680 bool m_actionsEnabled{
false};
710 int64_t m_evaluationPeriods{0};
712 int64_t m_datapointsToAlarm{0};
714 double m_threshold{0.0};
730 EvaluationWindow m_evaluationWindow;
732 EvaluationCriteria m_evaluationCriteria;
734 int64_t m_evaluationInterval{0};
735 bool m_alarmNameHasBeenSet =
false;
736 bool m_alarmArnHasBeenSet =
false;
737 bool m_alarmDescriptionHasBeenSet =
false;
738 bool m_alarmConfigurationUpdatedTimestampHasBeenSet =
false;
739 bool m_actionsEnabledHasBeenSet =
false;
740 bool m_oKActionsHasBeenSet =
false;
741 bool m_alarmActionsHasBeenSet =
false;
742 bool m_insufficientDataActionsHasBeenSet =
false;
743 bool m_stateValueHasBeenSet =
false;
744 bool m_stateReasonHasBeenSet =
false;
745 bool m_stateReasonDataHasBeenSet =
false;
746 bool m_stateUpdatedTimestampHasBeenSet =
false;
747 bool m_metricNameHasBeenSet =
false;
748 bool m_namespaceHasBeenSet =
false;
749 bool m_statisticHasBeenSet =
false;
750 bool m_extendedStatisticHasBeenSet =
false;
751 bool m_dimensionsHasBeenSet =
false;
752 bool m_periodHasBeenSet =
false;
753 bool m_unitHasBeenSet =
false;
754 bool m_evaluationPeriodsHasBeenSet =
false;
755 bool m_datapointsToAlarmHasBeenSet =
false;
756 bool m_thresholdHasBeenSet =
false;
757 bool m_comparisonOperatorHasBeenSet =
false;
758 bool m_treatMissingDataHasBeenSet =
false;
759 bool m_evaluateLowSampleCountPercentileHasBeenSet =
false;
760 bool m_metricsHasBeenSet =
false;
761 bool m_thresholdMetricIdHasBeenSet =
false;
762 bool m_evaluationStateHasBeenSet =
false;
763 bool m_stateTransitionedTimestampHasBeenSet =
false;
764 bool m_evaluationWindowHasBeenSet =
false;
765 bool m_evaluationCriteriaHasBeenSet =
false;
766 bool m_evaluationIntervalHasBeenSet =
false;
bool MetricNameHasBeenSet() const
bool ThresholdMetricIdHasBeenSet() const
EvaluationState GetEvaluationState() const
bool StateReasonHasBeenSet() const
MetricAlarm & WithEvaluateLowSampleCountPercentile(EvaluateLowSampleCountPercentileT &&value)
void SetTreatMissingData(TreatMissingDataT &&value)
bool EvaluationPeriodsHasBeenSet() const
bool ActionsEnabledHasBeenSet() const
const Aws::String & GetStateReasonData() const
void SetAlarmName(AlarmNameT &&value)
void SetEvaluateLowSampleCountPercentile(EvaluateLowSampleCountPercentileT &&value)
void SetActionsEnabled(bool value)
void SetNamespace(NamespaceT &&value)
MetricAlarm & WithStateValue(StateValue value)
bool EvaluationIntervalHasBeenSet() const
void SetPeriod(int64_t value)
AWS_CLOUDWATCH_API MetricAlarm & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
MetricAlarm & WithEvaluationPeriods(int64_t value)
void SetAlarmArn(AlarmArnT &&value)
const Aws::Vector< Aws::String > & GetOKActions() const
MetricAlarm & WithDimensions(DimensionsT &&value)
MetricAlarm & WithThreshold(double value)
MetricAlarm & WithOKActions(OKActionsT &&value)
bool ComparisonOperatorHasBeenSet() const
bool StateValueHasBeenSet() const
const Aws::Vector< Aws::String > & GetInsufficientDataActions() const
MetricAlarm & WithComparisonOperator(ComparisonOperator value)
MetricAlarm & WithEvaluationInterval(int64_t value)
MetricAlarm & WithTreatMissingData(TreatMissingDataT &&value)
const Aws::String & GetNamespace() const
double GetThreshold() const
const Aws::String & GetMetricName() const
MetricAlarm & WithExtendedStatistic(ExtendedStatisticT &&value)
ComparisonOperator GetComparisonOperator() const
bool AlarmDescriptionHasBeenSet() const
bool NamespaceHasBeenSet() const
MetricAlarm & WithEvaluationState(EvaluationState value)
void SetDimensions(DimensionsT &&value)
void SetStateTransitionedTimestamp(StateTransitionedTimestampT &&value)
MetricAlarm & WithAlarmActions(AlarmActionsT &&value)
void SetExtendedStatistic(ExtendedStatisticT &&value)
MetricAlarm & AddOKActions(OKActionsT &&value)
AWS_CLOUDWATCH_API MetricAlarm(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
MetricAlarm & WithPeriod(int64_t value)
void SetEvaluationWindow(EvaluationWindowT &&value)
MetricAlarm & WithStateReason(StateReasonT &&value)
MetricAlarm & WithAlarmDescription(AlarmDescriptionT &&value)
void SetInsufficientDataActions(InsufficientDataActionsT &&value)
const Aws::String & GetThresholdMetricId() const
void SetEvaluationInterval(int64_t value)
bool StateReasonDataHasBeenSet() const
void SetMetrics(MetricsT &&value)
bool OKActionsHasBeenSet() const
const Aws::String & GetStateReason() const
AWS_CLOUDWATCH_API MetricAlarm()=default
int64_t GetPeriod() const
bool AlarmNameHasBeenSet() const
bool DatapointsToAlarmHasBeenSet() const
bool AlarmArnHasBeenSet() const
int64_t GetEvaluationInterval() const
void SetMetricName(MetricNameT &&value)
MetricAlarm & WithMetrics(MetricsT &&value)
const Aws::Utils::DateTime & GetStateTransitionedTimestamp() const
bool EvaluationWindowHasBeenSet() const
const Aws::Utils::DateTime & GetAlarmConfigurationUpdatedTimestamp() const
bool EvaluationStateHasBeenSet() const
void SetDatapointsToAlarm(int64_t value)
MetricAlarm & WithEvaluationCriteria(EvaluationCriteriaT &&value)
bool AlarmConfigurationUpdatedTimestampHasBeenSet() const
bool EvaluateLowSampleCountPercentileHasBeenSet() const
const Aws::String & GetTreatMissingData() const
int64_t GetEvaluationPeriods() const
MetricAlarm & AddMetrics(MetricsT &&value)
bool AlarmActionsHasBeenSet() const
void SetAlarmConfigurationUpdatedTimestamp(AlarmConfigurationUpdatedTimestampT &&value)
bool UnitHasBeenSet() const
bool GetActionsEnabled() const
MetricAlarm & WithAlarmConfigurationUpdatedTimestamp(AlarmConfigurationUpdatedTimestampT &&value)
const EvaluationWindow & GetEvaluationWindow() const
MetricAlarm & WithInsufficientDataActions(InsufficientDataActionsT &&value)
void SetThreshold(double value)
void SetComparisonOperator(ComparisonOperator value)
StateValue GetStateValue() const
bool StatisticHasBeenSet() const
void SetAlarmDescription(AlarmDescriptionT &&value)
const Aws::Vector< Dimension > & GetDimensions() const
const Aws::String & GetAlarmArn() const
const Aws::Vector< MetricDataQuery > & GetMetrics() const
MetricAlarm & WithDatapointsToAlarm(int64_t value)
void SetStateReasonData(StateReasonDataT &&value)
void SetUnit(StandardUnit value)
MetricAlarm & AddDimensions(DimensionsT &&value)
bool TreatMissingDataHasBeenSet() const
MetricAlarm & WithAlarmName(AlarmNameT &&value)
const Aws::String & GetExtendedStatistic() const
void SetStateReason(StateReasonT &&value)
Statistic GetStatistic() const
void SetEvaluationPeriods(int64_t value)
void SetEvaluationState(EvaluationState value)
const Aws::Vector< Aws::String > & GetAlarmActions() const
bool PeriodHasBeenSet() const
void SetStateUpdatedTimestamp(StateUpdatedTimestampT &&value)
MetricAlarm & WithThresholdMetricId(ThresholdMetricIdT &&value)
const Aws::String & GetAlarmDescription() const
AWS_CLOUDWATCH_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
MetricAlarm & WithActionsEnabled(bool value)
bool ExtendedStatisticHasBeenSet() const
MetricAlarm & WithUnit(StandardUnit value)
bool DimensionsHasBeenSet() const
bool MetricsHasBeenSet() const
MetricAlarm & WithMetricName(MetricNameT &&value)
MetricAlarm & WithStateTransitionedTimestamp(StateTransitionedTimestampT &&value)
int64_t GetDatapointsToAlarm() const
MetricAlarm & WithEvaluationWindow(EvaluationWindowT &&value)
bool EvaluationCriteriaHasBeenSet() const
MetricAlarm & AddAlarmActions(AlarmActionsT &&value)
bool ThresholdHasBeenSet() const
bool InsufficientDataActionsHasBeenSet() const
void SetOKActions(OKActionsT &&value)
const EvaluationCriteria & GetEvaluationCriteria() const
MetricAlarm & WithStatistic(Statistic value)
const Aws::Utils::DateTime & GetStateUpdatedTimestamp() const
const Aws::String & GetEvaluateLowSampleCountPercentile() const
const Aws::String & GetAlarmName() const
MetricAlarm & WithStateReasonData(StateReasonDataT &&value)
MetricAlarm & WithAlarmArn(AlarmArnT &&value)
void SetStatistic(Statistic value)
bool StateUpdatedTimestampHasBeenSet() const
void SetThresholdMetricId(ThresholdMetricIdT &&value)
void SetAlarmActions(AlarmActionsT &&value)
StandardUnit GetUnit() const
void SetEvaluationCriteria(EvaluationCriteriaT &&value)
bool StateTransitionedTimestampHasBeenSet() const
MetricAlarm & WithStateUpdatedTimestamp(StateUpdatedTimestampT &&value)
MetricAlarm & AddInsufficientDataActions(InsufficientDataActionsT &&value)
void SetStateValue(StateValue value)
MetricAlarm & WithNamespace(NamespaceT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector