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/EvaluationState.h>
15#include <aws/monitoring/model/MetricDataQuery.h>
16#include <aws/monitoring/model/StandardUnit.h>
17#include <aws/monitoring/model/StateValue.h>
18#include <aws/monitoring/model/Statistic.h>
39 AWS_CLOUDWATCH_API
MetricAlarm(
const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
41 AWS_CLOUDWATCH_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
49 template <
typename AlarmNameT = Aws::String>
51 m_alarmNameHasBeenSet =
true;
52 m_alarmName = std::forward<AlarmNameT>(value);
54 template <
typename AlarmNameT = Aws::String>
67 template <
typename AlarmArnT = Aws::String>
69 m_alarmArnHasBeenSet =
true;
70 m_alarmArn = std::forward<AlarmArnT>(value);
72 template <
typename AlarmArnT = Aws::String>
85 template <
typename AlarmDescriptionT = Aws::String>
87 m_alarmDescriptionHasBeenSet =
true;
88 m_alarmDescription = std::forward<AlarmDescriptionT>(value);
90 template <
typename AlarmDescriptionT = Aws::String>
103 template <
typename AlarmConfigurationUpdatedTimestampT = Aws::Utils::DateTime>
105 m_alarmConfigurationUpdatedTimestampHasBeenSet =
true;
106 m_alarmConfigurationUpdatedTimestamp = std::forward<AlarmConfigurationUpdatedTimestampT>(value);
108 template <
typename AlarmConfigurationUpdatedTimestampT = Aws::Utils::DateTime>
123 m_actionsEnabledHasBeenSet =
true;
124 m_actionsEnabled = value;
140 template <
typename OKActionsT = Aws::Vector<Aws::String>>
142 m_oKActionsHasBeenSet =
true;
143 m_oKActions = std::forward<OKActionsT>(value);
145 template <
typename OKActionsT = Aws::Vector<Aws::String>>
150 template <
typename OKActionsT = Aws::String>
152 m_oKActionsHasBeenSet =
true;
153 m_oKActions.emplace_back(std::forward<OKActionsT>(value));
166 template <
typename AlarmActionsT = Aws::Vector<Aws::String>>
168 m_alarmActionsHasBeenSet =
true;
169 m_alarmActions = std::forward<AlarmActionsT>(value);
171 template <
typename AlarmActionsT = Aws::Vector<Aws::String>>
176 template <
typename AlarmActionsT = Aws::String>
178 m_alarmActionsHasBeenSet =
true;
179 m_alarmActions.emplace_back(std::forward<AlarmActionsT>(value));
192 template <
typename InsufficientDataActionsT = Aws::Vector<Aws::String>>
194 m_insufficientDataActionsHasBeenSet =
true;
195 m_insufficientDataActions = std::forward<InsufficientDataActionsT>(value);
197 template <
typename InsufficientDataActionsT = Aws::Vector<Aws::String>>
202 template <
typename InsufficientDataActionsT = Aws::String>
204 m_insufficientDataActionsHasBeenSet =
true;
205 m_insufficientDataActions.emplace_back(std::forward<InsufficientDataActionsT>(value));
217 m_stateValueHasBeenSet =
true;
218 m_stateValue = value;
232 template <
typename StateReasonT = Aws::String>
234 m_stateReasonHasBeenSet =
true;
235 m_stateReason = std::forward<StateReasonT>(value);
237 template <
typename StateReasonT = Aws::String>
250 template <
typename StateReasonDataT = Aws::String>
252 m_stateReasonDataHasBeenSet =
true;
253 m_stateReasonData = std::forward<StateReasonDataT>(value);
255 template <
typename StateReasonDataT = Aws::String>
269 template <
typename StateUpdatedTimestampT = Aws::Utils::DateTime>
271 m_stateUpdatedTimestampHasBeenSet =
true;
272 m_stateUpdatedTimestamp = std::forward<StateUpdatedTimestampT>(value);
274 template <
typename StateUpdatedTimestampT = Aws::Utils::DateTime>
288 template <
typename MetricNameT = Aws::String>
290 m_metricNameHasBeenSet =
true;
291 m_metricName = std::forward<MetricNameT>(value);
293 template <
typename MetricNameT = Aws::String>
306 template <
typename NamespaceT = Aws::String>
308 m_namespaceHasBeenSet =
true;
309 m_namespace = std::forward<NamespaceT>(value);
311 template <
typename NamespaceT = Aws::String>
326 m_statisticHasBeenSet =
true;
342 template <
typename ExtendedStatisticT = Aws::String>
344 m_extendedStatisticHasBeenSet =
true;
345 m_extendedStatistic = std::forward<ExtendedStatisticT>(value);
347 template <
typename ExtendedStatisticT = Aws::String>
360 template <
typename DimensionsT = Aws::Vector<Dimension>>
362 m_dimensionsHasBeenSet =
true;
363 m_dimensions = std::forward<DimensionsT>(value);
365 template <
typename DimensionsT = Aws::Vector<Dimension>>
370 template <
typename DimensionsT = Dimension>
372 m_dimensionsHasBeenSet =
true;
373 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
385 m_periodHasBeenSet =
true;
401 m_unitHasBeenSet =
true;
418 m_evaluationPeriodsHasBeenSet =
true;
419 m_evaluationPeriods = value;
434 m_datapointsToAlarmHasBeenSet =
true;
435 m_datapointsToAlarm = value;
450 m_thresholdHasBeenSet =
true;
467 m_comparisonOperatorHasBeenSet =
true;
468 m_comparisonOperator = value;
487 template <
typename TreatMissingDataT = Aws::String>
489 m_treatMissingDataHasBeenSet =
true;
490 m_treatMissingData = std::forward<TreatMissingDataT>(value);
492 template <
typename TreatMissingDataT = Aws::String>
509 template <
typename EvaluateLowSampleCountPercentileT = Aws::String>
511 m_evaluateLowSampleCountPercentileHasBeenSet =
true;
512 m_evaluateLowSampleCountPercentile = std::forward<EvaluateLowSampleCountPercentileT>(value);
514 template <
typename EvaluateLowSampleCountPercentileT = Aws::String>
531 template <
typename MetricsT = Aws::Vector<MetricDataQuery>>
533 m_metricsHasBeenSet =
true;
534 m_metrics = std::forward<MetricsT>(value);
536 template <
typename MetricsT = Aws::Vector<MetricDataQuery>>
541 template <
typename MetricsT = MetricDataQuery>
543 m_metricsHasBeenSet =
true;
544 m_metrics.emplace_back(std::forward<MetricsT>(value));
557 template <
typename ThresholdMetricIdT = Aws::String>
559 m_thresholdMetricIdHasBeenSet =
true;
560 m_thresholdMetricId = std::forward<ThresholdMetricIdT>(value);
562 template <
typename ThresholdMetricIdT = Aws::String>
580 m_evaluationStateHasBeenSet =
true;
581 m_evaluationState = value;
596 template <
typename StateTransitionedTimestampT = Aws::Utils::DateTime>
598 m_stateTransitionedTimestampHasBeenSet =
true;
599 m_stateTransitionedTimestamp = std::forward<StateTransitionedTimestampT>(value);
601 template <
typename StateTransitionedTimestampT = Aws::Utils::DateTime>
616 bool m_actionsEnabled{
false};
646 int64_t m_evaluationPeriods{0};
648 int64_t m_datapointsToAlarm{0};
650 double m_threshold{0.0};
665 bool m_alarmNameHasBeenSet =
false;
666 bool m_alarmArnHasBeenSet =
false;
667 bool m_alarmDescriptionHasBeenSet =
false;
668 bool m_alarmConfigurationUpdatedTimestampHasBeenSet =
false;
669 bool m_actionsEnabledHasBeenSet =
false;
670 bool m_oKActionsHasBeenSet =
false;
671 bool m_alarmActionsHasBeenSet =
false;
672 bool m_insufficientDataActionsHasBeenSet =
false;
673 bool m_stateValueHasBeenSet =
false;
674 bool m_stateReasonHasBeenSet =
false;
675 bool m_stateReasonDataHasBeenSet =
false;
676 bool m_stateUpdatedTimestampHasBeenSet =
false;
677 bool m_metricNameHasBeenSet =
false;
678 bool m_namespaceHasBeenSet =
false;
679 bool m_statisticHasBeenSet =
false;
680 bool m_extendedStatisticHasBeenSet =
false;
681 bool m_dimensionsHasBeenSet =
false;
682 bool m_periodHasBeenSet =
false;
683 bool m_unitHasBeenSet =
false;
684 bool m_evaluationPeriodsHasBeenSet =
false;
685 bool m_datapointsToAlarmHasBeenSet =
false;
686 bool m_thresholdHasBeenSet =
false;
687 bool m_comparisonOperatorHasBeenSet =
false;
688 bool m_treatMissingDataHasBeenSet =
false;
689 bool m_evaluateLowSampleCountPercentileHasBeenSet =
false;
690 bool m_metricsHasBeenSet =
false;
691 bool m_thresholdMetricIdHasBeenSet =
false;
692 bool m_evaluationStateHasBeenSet =
false;
693 bool m_stateTransitionedTimestampHasBeenSet =
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)
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 & 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)
MetricAlarm & WithStateReason(StateReasonT &&value)
MetricAlarm & WithAlarmDescription(AlarmDescriptionT &&value)
void SetInsufficientDataActions(InsufficientDataActionsT &&value)
const Aws::String & GetThresholdMetricId() const
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
void SetMetricName(MetricNameT &&value)
MetricAlarm & WithMetrics(MetricsT &&value)
const Aws::Utils::DateTime & GetStateTransitionedTimestamp() const
const Aws::Utils::DateTime & GetAlarmConfigurationUpdatedTimestamp() const
bool EvaluationStateHasBeenSet() const
void SetDatapointsToAlarm(int64_t 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)
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 & AddAlarmActions(AlarmActionsT &&value)
bool ThresholdHasBeenSet() const
bool InsufficientDataActionsHasBeenSet() const
void SetOKActions(OKActionsT &&value)
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
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