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>
21#include <aws/monitoring/model/WarmUpConfiguration.h>
42 AWS_CLOUDWATCH_API
MetricAlarm(
const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
44 AWS_CLOUDWATCH_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
52 template <
typename AlarmNameT = Aws::String>
54 m_alarmNameHasBeenSet =
true;
55 m_alarmName = std::forward<AlarmNameT>(value);
57 template <
typename AlarmNameT = Aws::String>
70 template <
typename AlarmArnT = Aws::String>
72 m_alarmArnHasBeenSet =
true;
73 m_alarmArn = std::forward<AlarmArnT>(value);
75 template <
typename AlarmArnT = Aws::String>
88 template <
typename AlarmDescriptionT = Aws::String>
90 m_alarmDescriptionHasBeenSet =
true;
91 m_alarmDescription = std::forward<AlarmDescriptionT>(value);
93 template <
typename AlarmDescriptionT = Aws::String>
106 template <
typename AlarmConfigurationUpdatedTimestampT = Aws::Utils::DateTime>
108 m_alarmConfigurationUpdatedTimestampHasBeenSet =
true;
109 m_alarmConfigurationUpdatedTimestamp = std::forward<AlarmConfigurationUpdatedTimestampT>(value);
111 template <
typename AlarmConfigurationUpdatedTimestampT = Aws::Utils::DateTime>
126 m_actionsEnabledHasBeenSet =
true;
127 m_actionsEnabled = value;
143 template <
typename OKActionsT = Aws::Vector<Aws::String>>
145 m_oKActionsHasBeenSet =
true;
146 m_oKActions = std::forward<OKActionsT>(value);
148 template <
typename OKActionsT = Aws::Vector<Aws::String>>
153 template <
typename OKActionsT = Aws::String>
155 m_oKActionsHasBeenSet =
true;
156 m_oKActions.emplace_back(std::forward<OKActionsT>(value));
169 template <
typename AlarmActionsT = Aws::Vector<Aws::String>>
171 m_alarmActionsHasBeenSet =
true;
172 m_alarmActions = std::forward<AlarmActionsT>(value);
174 template <
typename AlarmActionsT = Aws::Vector<Aws::String>>
179 template <
typename AlarmActionsT = Aws::String>
181 m_alarmActionsHasBeenSet =
true;
182 m_alarmActions.emplace_back(std::forward<AlarmActionsT>(value));
195 template <
typename InsufficientDataActionsT = Aws::Vector<Aws::String>>
197 m_insufficientDataActionsHasBeenSet =
true;
198 m_insufficientDataActions = std::forward<InsufficientDataActionsT>(value);
200 template <
typename InsufficientDataActionsT = Aws::Vector<Aws::String>>
205 template <
typename InsufficientDataActionsT = Aws::String>
207 m_insufficientDataActionsHasBeenSet =
true;
208 m_insufficientDataActions.emplace_back(std::forward<InsufficientDataActionsT>(value));
220 m_stateValueHasBeenSet =
true;
221 m_stateValue = value;
235 template <
typename StateReasonT = Aws::String>
237 m_stateReasonHasBeenSet =
true;
238 m_stateReason = std::forward<StateReasonT>(value);
240 template <
typename StateReasonT = Aws::String>
253 template <
typename StateReasonDataT = Aws::String>
255 m_stateReasonDataHasBeenSet =
true;
256 m_stateReasonData = std::forward<StateReasonDataT>(value);
258 template <
typename StateReasonDataT = Aws::String>
272 template <
typename StateUpdatedTimestampT = Aws::Utils::DateTime>
274 m_stateUpdatedTimestampHasBeenSet =
true;
275 m_stateUpdatedTimestamp = std::forward<StateUpdatedTimestampT>(value);
277 template <
typename StateUpdatedTimestampT = Aws::Utils::DateTime>
291 template <
typename MetricNameT = Aws::String>
293 m_metricNameHasBeenSet =
true;
294 m_metricName = std::forward<MetricNameT>(value);
296 template <
typename MetricNameT = Aws::String>
309 template <
typename NamespaceT = Aws::String>
311 m_namespaceHasBeenSet =
true;
312 m_namespace = std::forward<NamespaceT>(value);
314 template <
typename NamespaceT = Aws::String>
329 m_statisticHasBeenSet =
true;
345 template <
typename ExtendedStatisticT = Aws::String>
347 m_extendedStatisticHasBeenSet =
true;
348 m_extendedStatistic = std::forward<ExtendedStatisticT>(value);
350 template <
typename ExtendedStatisticT = Aws::String>
363 template <
typename DimensionsT = Aws::Vector<Dimension>>
365 m_dimensionsHasBeenSet =
true;
366 m_dimensions = std::forward<DimensionsT>(value);
368 template <
typename DimensionsT = Aws::Vector<Dimension>>
373 template <
typename DimensionsT = Dimension>
375 m_dimensionsHasBeenSet =
true;
376 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
388 m_periodHasBeenSet =
true;
404 m_unitHasBeenSet =
true;
421 m_evaluationPeriodsHasBeenSet =
true;
422 m_evaluationPeriods = value;
437 m_datapointsToAlarmHasBeenSet =
true;
438 m_datapointsToAlarm = value;
453 m_thresholdHasBeenSet =
true;
470 m_comparisonOperatorHasBeenSet =
true;
471 m_comparisonOperator = value;
491 template <
typename TreatMissingDataT = Aws::String>
493 m_treatMissingDataHasBeenSet =
true;
494 m_treatMissingData = std::forward<TreatMissingDataT>(value);
496 template <
typename TreatMissingDataT = Aws::String>
513 template <
typename EvaluateLowSampleCountPercentileT = Aws::String>
515 m_evaluateLowSampleCountPercentileHasBeenSet =
true;
516 m_evaluateLowSampleCountPercentile = std::forward<EvaluateLowSampleCountPercentileT>(value);
518 template <
typename EvaluateLowSampleCountPercentileT = Aws::String>
535 template <
typename MetricsT = Aws::Vector<MetricDataQuery>>
537 m_metricsHasBeenSet =
true;
538 m_metrics = std::forward<MetricsT>(value);
540 template <
typename MetricsT = Aws::Vector<MetricDataQuery>>
545 template <
typename MetricsT = MetricDataQuery>
547 m_metricsHasBeenSet =
true;
548 m_metrics.emplace_back(std::forward<MetricsT>(value));
561 template <
typename ThresholdMetricIdT = Aws::String>
563 m_thresholdMetricIdHasBeenSet =
true;
564 m_thresholdMetricId = std::forward<ThresholdMetricIdT>(value);
566 template <
typename ThresholdMetricIdT = Aws::String>
589 m_evaluationStateHasBeenSet =
true;
590 m_evaluationState = value;
605 template <
typename StateTransitionedTimestampT = Aws::Utils::DateTime>
607 m_stateTransitionedTimestampHasBeenSet =
true;
608 m_stateTransitionedTimestamp = std::forward<StateTransitionedTimestampT>(value);
610 template <
typename StateTransitionedTimestampT = Aws::Utils::DateTime>
627 template <
typename EvaluationWindowT = EvaluationWindow>
629 m_evaluationWindowHasBeenSet =
true;
630 m_evaluationWindow = std::forward<EvaluationWindowT>(value);
632 template <
typename EvaluationWindowT = EvaluationWindow>
650 template <
typename WarmUpConfigurationT = WarmUpConfiguration>
652 m_warmUpConfigurationHasBeenSet =
true;
653 m_warmUpConfiguration = std::forward<WarmUpConfigurationT>(value);
655 template <
typename WarmUpConfigurationT = WarmUpConfiguration>
668 template <
typename EvaluationCriteriaT = EvaluationCriteria>
670 m_evaluationCriteriaHasBeenSet =
true;
671 m_evaluationCriteria = std::forward<EvaluationCriteriaT>(value);
673 template <
typename EvaluationCriteriaT = EvaluationCriteria>
687 m_evaluationIntervalHasBeenSet =
true;
688 m_evaluationInterval = value;
704 bool m_actionsEnabled{
false};
734 int64_t m_evaluationPeriods{0};
736 int64_t m_datapointsToAlarm{0};
738 double m_threshold{0.0};
754 EvaluationWindow m_evaluationWindow;
756 WarmUpConfiguration m_warmUpConfiguration;
758 EvaluationCriteria m_evaluationCriteria;
760 int64_t m_evaluationInterval{0};
761 bool m_alarmNameHasBeenSet =
false;
762 bool m_alarmArnHasBeenSet =
false;
763 bool m_alarmDescriptionHasBeenSet =
false;
764 bool m_alarmConfigurationUpdatedTimestampHasBeenSet =
false;
765 bool m_actionsEnabledHasBeenSet =
false;
766 bool m_oKActionsHasBeenSet =
false;
767 bool m_alarmActionsHasBeenSet =
false;
768 bool m_insufficientDataActionsHasBeenSet =
false;
769 bool m_stateValueHasBeenSet =
false;
770 bool m_stateReasonHasBeenSet =
false;
771 bool m_stateReasonDataHasBeenSet =
false;
772 bool m_stateUpdatedTimestampHasBeenSet =
false;
773 bool m_metricNameHasBeenSet =
false;
774 bool m_namespaceHasBeenSet =
false;
775 bool m_statisticHasBeenSet =
false;
776 bool m_extendedStatisticHasBeenSet =
false;
777 bool m_dimensionsHasBeenSet =
false;
778 bool m_periodHasBeenSet =
false;
779 bool m_unitHasBeenSet =
false;
780 bool m_evaluationPeriodsHasBeenSet =
false;
781 bool m_datapointsToAlarmHasBeenSet =
false;
782 bool m_thresholdHasBeenSet =
false;
783 bool m_comparisonOperatorHasBeenSet =
false;
784 bool m_treatMissingDataHasBeenSet =
false;
785 bool m_evaluateLowSampleCountPercentileHasBeenSet =
false;
786 bool m_metricsHasBeenSet =
false;
787 bool m_thresholdMetricIdHasBeenSet =
false;
788 bool m_evaluationStateHasBeenSet =
false;
789 bool m_stateTransitionedTimestampHasBeenSet =
false;
790 bool m_evaluationWindowHasBeenSet =
false;
791 bool m_warmUpConfigurationHasBeenSet =
false;
792 bool m_evaluationCriteriaHasBeenSet =
false;
793 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)
void SetWarmUpConfiguration(WarmUpConfigurationT &&value)
AWS_CLOUDWATCH_API MetricAlarm(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
MetricAlarm & WithWarmUpConfiguration(WarmUpConfigurationT &&value)
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)
const WarmUpConfiguration & GetWarmUpConfiguration() const
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)
bool WarmUpConfigurationHasBeenSet() const
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