/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { /** *

The details about a composite alarm.

See Also:

AWS * API Reference

*/ class CompositeAlarm { public: AWS_CLOUDWATCH_API CompositeAlarm(); AWS_CLOUDWATCH_API CompositeAlarm(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API CompositeAlarm& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline bool GetActionsEnabled() const{ return m_actionsEnabled; } /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline bool ActionsEnabledHasBeenSet() const { return m_actionsEnabledHasBeenSet; } /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline void SetActionsEnabled(bool value) { m_actionsEnabledHasBeenSet = true; m_actionsEnabled = value; } /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline CompositeAlarm& WithActionsEnabled(bool value) { SetActionsEnabled(value); return *this;} /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline const Aws::Vector& GetAlarmActions() const{ return m_alarmActions; } /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline bool AlarmActionsHasBeenSet() const { return m_alarmActionsHasBeenSet; } /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline void SetAlarmActions(const Aws::Vector& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = value; } /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline void SetAlarmActions(Aws::Vector&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = std::move(value); } /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& WithAlarmActions(const Aws::Vector& value) { SetAlarmActions(value); return *this;} /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& WithAlarmActions(Aws::Vector&& value) { SetAlarmActions(std::move(value)); return *this;} /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& AddAlarmActions(const Aws::String& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; } /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& AddAlarmActions(Aws::String&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(std::move(value)); return *this; } /** *

The actions to execute when this alarm transitions to the ALARM state from * any other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& AddAlarmActions(const char* value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline const Aws::String& GetAlarmArn() const{ return m_alarmArn; } /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline bool AlarmArnHasBeenSet() const { return m_alarmArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline void SetAlarmArn(const Aws::String& value) { m_alarmArnHasBeenSet = true; m_alarmArn = value; } /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline void SetAlarmArn(Aws::String&& value) { m_alarmArnHasBeenSet = true; m_alarmArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline void SetAlarmArn(const char* value) { m_alarmArnHasBeenSet = true; m_alarmArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline CompositeAlarm& WithAlarmArn(const Aws::String& value) { SetAlarmArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline CompositeAlarm& WithAlarmArn(Aws::String&& value) { SetAlarmArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the alarm.

*/ inline CompositeAlarm& WithAlarmArn(const char* value) { SetAlarmArn(value); return *this;} /** *

The time stamp of the last update to the alarm configuration.

*/ inline const Aws::Utils::DateTime& GetAlarmConfigurationUpdatedTimestamp() const{ return m_alarmConfigurationUpdatedTimestamp; } /** *

The time stamp of the last update to the alarm configuration.

*/ inline bool AlarmConfigurationUpdatedTimestampHasBeenSet() const { return m_alarmConfigurationUpdatedTimestampHasBeenSet; } /** *

The time stamp of the last update to the alarm configuration.

*/ inline void SetAlarmConfigurationUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp = value; } /** *

The time stamp of the last update to the alarm configuration.

*/ inline void SetAlarmConfigurationUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp = std::move(value); } /** *

The time stamp of the last update to the alarm configuration.

*/ inline CompositeAlarm& WithAlarmConfigurationUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetAlarmConfigurationUpdatedTimestamp(value); return *this;} /** *

The time stamp of the last update to the alarm configuration.

*/ inline CompositeAlarm& WithAlarmConfigurationUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetAlarmConfigurationUpdatedTimestamp(std::move(value)); return *this;} /** *

The description of the alarm.

*/ inline const Aws::String& GetAlarmDescription() const{ return m_alarmDescription; } /** *

The description of the alarm.

*/ inline bool AlarmDescriptionHasBeenSet() const { return m_alarmDescriptionHasBeenSet; } /** *

The description of the alarm.

*/ inline void SetAlarmDescription(const Aws::String& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = value; } /** *

The description of the alarm.

*/ inline void SetAlarmDescription(Aws::String&& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = std::move(value); } /** *

The description of the alarm.

*/ inline void SetAlarmDescription(const char* value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription.assign(value); } /** *

The description of the alarm.

*/ inline CompositeAlarm& WithAlarmDescription(const Aws::String& value) { SetAlarmDescription(value); return *this;} /** *

The description of the alarm.

*/ inline CompositeAlarm& WithAlarmDescription(Aws::String&& value) { SetAlarmDescription(std::move(value)); return *this;} /** *

The description of the alarm.

*/ inline CompositeAlarm& WithAlarmDescription(const char* value) { SetAlarmDescription(value); return *this;} /** *

The name of the alarm.

*/ inline const Aws::String& GetAlarmName() const{ return m_alarmName; } /** *

The name of the alarm.

*/ inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; } /** *

The name of the alarm.

*/ inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; } /** *

The name of the alarm.

*/ inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); } /** *

The name of the alarm.

*/ inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); } /** *

The name of the alarm.

*/ inline CompositeAlarm& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;} /** *

The name of the alarm.

*/ inline CompositeAlarm& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;} /** *

The name of the alarm.

*/ inline CompositeAlarm& WithAlarmName(const char* value) { SetAlarmName(value); return *this;} /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline const Aws::String& GetAlarmRule() const{ return m_alarmRule; } /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline bool AlarmRuleHasBeenSet() const { return m_alarmRuleHasBeenSet; } /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline void SetAlarmRule(const Aws::String& value) { m_alarmRuleHasBeenSet = true; m_alarmRule = value; } /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline void SetAlarmRule(Aws::String&& value) { m_alarmRuleHasBeenSet = true; m_alarmRule = std::move(value); } /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline void SetAlarmRule(const char* value) { m_alarmRuleHasBeenSet = true; m_alarmRule.assign(value); } /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline CompositeAlarm& WithAlarmRule(const Aws::String& value) { SetAlarmRule(value); return *this;} /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline CompositeAlarm& WithAlarmRule(Aws::String&& value) { SetAlarmRule(std::move(value)); return *this;} /** *

The rule that this alarm uses to evaluate its alarm state.

*/ inline CompositeAlarm& WithAlarmRule(const char* value) { SetAlarmRule(value); return *this;} /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline const Aws::Vector& GetInsufficientDataActions() const{ return m_insufficientDataActions; } /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline bool InsufficientDataActionsHasBeenSet() const { return m_insufficientDataActionsHasBeenSet; } /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline void SetInsufficientDataActions(const Aws::Vector& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = value; } /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline void SetInsufficientDataActions(Aws::Vector&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = std::move(value); } /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline CompositeAlarm& WithInsufficientDataActions(const Aws::Vector& value) { SetInsufficientDataActions(value); return *this;} /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline CompositeAlarm& WithInsufficientDataActions(Aws::Vector&& value) { SetInsufficientDataActions(std::move(value)); return *this;} /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline CompositeAlarm& AddInsufficientDataActions(const Aws::String& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; } /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline CompositeAlarm& AddInsufficientDataActions(Aws::String&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(std::move(value)); return *this; } /** *

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA * state from any other state. Each action is specified as an Amazon Resource Name * (ARN).

*/ inline CompositeAlarm& AddInsufficientDataActions(const char* value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline const Aws::Vector& GetOKActions() const{ return m_oKActions; } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline bool OKActionsHasBeenSet() const { return m_oKActionsHasBeenSet; } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline void SetOKActions(const Aws::Vector& value) { m_oKActionsHasBeenSet = true; m_oKActions = value; } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline void SetOKActions(Aws::Vector&& value) { m_oKActionsHasBeenSet = true; m_oKActions = std::move(value); } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& WithOKActions(const Aws::Vector& value) { SetOKActions(value); return *this;} /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& WithOKActions(Aws::Vector&& value) { SetOKActions(std::move(value)); return *this;} /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& AddOKActions(const Aws::String& value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(value); return *this; } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& AddOKActions(Aws::String&& value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(std::move(value)); return *this; } /** *

The actions to execute when this alarm transitions to the OK state from any * other state. Each action is specified as an Amazon Resource Name (ARN).

*/ inline CompositeAlarm& AddOKActions(const char* value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(value); return *this; } /** *

An explanation for the alarm state, in text format.

*/ inline const Aws::String& GetStateReason() const{ return m_stateReason; } /** *

An explanation for the alarm state, in text format.

*/ inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } /** *

An explanation for the alarm state, in text format.

*/ inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } /** *

An explanation for the alarm state, in text format.

*/ inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } /** *

An explanation for the alarm state, in text format.

*/ inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); } /** *

An explanation for the alarm state, in text format.

*/ inline CompositeAlarm& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;} /** *

An explanation for the alarm state, in text format.

*/ inline CompositeAlarm& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;} /** *

An explanation for the alarm state, in text format.

*/ inline CompositeAlarm& WithStateReason(const char* value) { SetStateReason(value); return *this;} /** *

An explanation for the alarm state, in JSON format.

*/ inline const Aws::String& GetStateReasonData() const{ return m_stateReasonData; } /** *

An explanation for the alarm state, in JSON format.

*/ inline bool StateReasonDataHasBeenSet() const { return m_stateReasonDataHasBeenSet; } /** *

An explanation for the alarm state, in JSON format.

*/ inline void SetStateReasonData(const Aws::String& value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData = value; } /** *

An explanation for the alarm state, in JSON format.

*/ inline void SetStateReasonData(Aws::String&& value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData = std::move(value); } /** *

An explanation for the alarm state, in JSON format.

*/ inline void SetStateReasonData(const char* value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData.assign(value); } /** *

An explanation for the alarm state, in JSON format.

*/ inline CompositeAlarm& WithStateReasonData(const Aws::String& value) { SetStateReasonData(value); return *this;} /** *

An explanation for the alarm state, in JSON format.

*/ inline CompositeAlarm& WithStateReasonData(Aws::String&& value) { SetStateReasonData(std::move(value)); return *this;} /** *

An explanation for the alarm state, in JSON format.

*/ inline CompositeAlarm& WithStateReasonData(const char* value) { SetStateReasonData(value); return *this;} /** *

Tracks the timestamp of any state update, even if StateValue * doesn't change.

*/ inline const Aws::Utils::DateTime& GetStateUpdatedTimestamp() const{ return m_stateUpdatedTimestamp; } /** *

Tracks the timestamp of any state update, even if StateValue * doesn't change.

*/ inline bool StateUpdatedTimestampHasBeenSet() const { return m_stateUpdatedTimestampHasBeenSet; } /** *

Tracks the timestamp of any state update, even if StateValue * doesn't change.

*/ inline void SetStateUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_stateUpdatedTimestampHasBeenSet = true; m_stateUpdatedTimestamp = value; } /** *

Tracks the timestamp of any state update, even if StateValue * doesn't change.

*/ inline void SetStateUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_stateUpdatedTimestampHasBeenSet = true; m_stateUpdatedTimestamp = std::move(value); } /** *

Tracks the timestamp of any state update, even if StateValue * doesn't change.

*/ inline CompositeAlarm& WithStateUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetStateUpdatedTimestamp(value); return *this;} /** *

Tracks the timestamp of any state update, even if StateValue * doesn't change.

*/ inline CompositeAlarm& WithStateUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetStateUpdatedTimestamp(std::move(value)); return *this;} /** *

The state value for the alarm.

*/ inline const StateValue& GetStateValue() const{ return m_stateValue; } /** *

The state value for the alarm.

*/ inline bool StateValueHasBeenSet() const { return m_stateValueHasBeenSet; } /** *

The state value for the alarm.

*/ inline void SetStateValue(const StateValue& value) { m_stateValueHasBeenSet = true; m_stateValue = value; } /** *

The state value for the alarm.

*/ inline void SetStateValue(StateValue&& value) { m_stateValueHasBeenSet = true; m_stateValue = std::move(value); } /** *

The state value for the alarm.

*/ inline CompositeAlarm& WithStateValue(const StateValue& value) { SetStateValue(value); return *this;} /** *

The state value for the alarm.

*/ inline CompositeAlarm& WithStateValue(StateValue&& value) { SetStateValue(std::move(value)); return *this;} /** *

The timestamp of the last change to the alarm's StateValue. *

*/ inline const Aws::Utils::DateTime& GetStateTransitionedTimestamp() const{ return m_stateTransitionedTimestamp; } /** *

The timestamp of the last change to the alarm's StateValue. *

*/ inline bool StateTransitionedTimestampHasBeenSet() const { return m_stateTransitionedTimestampHasBeenSet; } /** *

The timestamp of the last change to the alarm's StateValue. *

*/ inline void SetStateTransitionedTimestamp(const Aws::Utils::DateTime& value) { m_stateTransitionedTimestampHasBeenSet = true; m_stateTransitionedTimestamp = value; } /** *

The timestamp of the last change to the alarm's StateValue. *

*/ inline void SetStateTransitionedTimestamp(Aws::Utils::DateTime&& value) { m_stateTransitionedTimestampHasBeenSet = true; m_stateTransitionedTimestamp = std::move(value); } /** *

The timestamp of the last change to the alarm's StateValue. *

*/ inline CompositeAlarm& WithStateTransitionedTimestamp(const Aws::Utils::DateTime& value) { SetStateTransitionedTimestamp(value); return *this;} /** *

The timestamp of the last change to the alarm's StateValue. *

*/ inline CompositeAlarm& WithStateTransitionedTimestamp(Aws::Utils::DateTime&& value) { SetStateTransitionedTimestamp(std::move(value)); return *this;} /** *

When the value is ALARM, it means that the actions are * suppressed because the suppressor alarm is in ALARM When the value * is WaitPeriod, it means that the actions are suppressed because the * composite alarm is waiting for the suppressor alarm to go into into the * ALARM state. The maximum waiting time is as specified in * ActionsSuppressorWaitPeriod. After this time, the composite alarm * performs its actions. When the value is ExtensionPeriod, it means * that the actions are suppressed because the composite alarm is waiting after the * suppressor alarm went out of the ALARM state. The maximum waiting * time is as specified in ActionsSuppressorExtensionPeriod. After * this time, the composite alarm performs its actions.

*/ inline const ActionsSuppressedBy& GetActionsSuppressedBy() const{ return m_actionsSuppressedBy; } /** *

When the value is ALARM, it means that the actions are * suppressed because the suppressor alarm is in ALARM When the value * is WaitPeriod, it means that the actions are suppressed because the * composite alarm is waiting for the suppressor alarm to go into into the * ALARM state. The maximum waiting time is as specified in * ActionsSuppressorWaitPeriod. After this time, the composite alarm * performs its actions. When the value is ExtensionPeriod, it means * that the actions are suppressed because the composite alarm is waiting after the * suppressor alarm went out of the ALARM state. The maximum waiting * time is as specified in ActionsSuppressorExtensionPeriod. After * this time, the composite alarm performs its actions.

*/ inline bool ActionsSuppressedByHasBeenSet() const { return m_actionsSuppressedByHasBeenSet; } /** *

When the value is ALARM, it means that the actions are * suppressed because the suppressor alarm is in ALARM When the value * is WaitPeriod, it means that the actions are suppressed because the * composite alarm is waiting for the suppressor alarm to go into into the * ALARM state. The maximum waiting time is as specified in * ActionsSuppressorWaitPeriod. After this time, the composite alarm * performs its actions. When the value is ExtensionPeriod, it means * that the actions are suppressed because the composite alarm is waiting after the * suppressor alarm went out of the ALARM state. The maximum waiting * time is as specified in ActionsSuppressorExtensionPeriod. After * this time, the composite alarm performs its actions.

*/ inline void SetActionsSuppressedBy(const ActionsSuppressedBy& value) { m_actionsSuppressedByHasBeenSet = true; m_actionsSuppressedBy = value; } /** *

When the value is ALARM, it means that the actions are * suppressed because the suppressor alarm is in ALARM When the value * is WaitPeriod, it means that the actions are suppressed because the * composite alarm is waiting for the suppressor alarm to go into into the * ALARM state. The maximum waiting time is as specified in * ActionsSuppressorWaitPeriod. After this time, the composite alarm * performs its actions. When the value is ExtensionPeriod, it means * that the actions are suppressed because the composite alarm is waiting after the * suppressor alarm went out of the ALARM state. The maximum waiting * time is as specified in ActionsSuppressorExtensionPeriod. After * this time, the composite alarm performs its actions.

*/ inline void SetActionsSuppressedBy(ActionsSuppressedBy&& value) { m_actionsSuppressedByHasBeenSet = true; m_actionsSuppressedBy = std::move(value); } /** *

When the value is ALARM, it means that the actions are * suppressed because the suppressor alarm is in ALARM When the value * is WaitPeriod, it means that the actions are suppressed because the * composite alarm is waiting for the suppressor alarm to go into into the * ALARM state. The maximum waiting time is as specified in * ActionsSuppressorWaitPeriod. After this time, the composite alarm * performs its actions. When the value is ExtensionPeriod, it means * that the actions are suppressed because the composite alarm is waiting after the * suppressor alarm went out of the ALARM state. The maximum waiting * time is as specified in ActionsSuppressorExtensionPeriod. After * this time, the composite alarm performs its actions.

*/ inline CompositeAlarm& WithActionsSuppressedBy(const ActionsSuppressedBy& value) { SetActionsSuppressedBy(value); return *this;} /** *

When the value is ALARM, it means that the actions are * suppressed because the suppressor alarm is in ALARM When the value * is WaitPeriod, it means that the actions are suppressed because the * composite alarm is waiting for the suppressor alarm to go into into the * ALARM state. The maximum waiting time is as specified in * ActionsSuppressorWaitPeriod. After this time, the composite alarm * performs its actions. When the value is ExtensionPeriod, it means * that the actions are suppressed because the composite alarm is waiting after the * suppressor alarm went out of the ALARM state. The maximum waiting * time is as specified in ActionsSuppressorExtensionPeriod. After * this time, the composite alarm performs its actions.

*/ inline CompositeAlarm& WithActionsSuppressedBy(ActionsSuppressedBy&& value) { SetActionsSuppressedBy(std::move(value)); return *this;} /** *

Captures the reason for action suppression.

*/ inline const Aws::String& GetActionsSuppressedReason() const{ return m_actionsSuppressedReason; } /** *

Captures the reason for action suppression.

*/ inline bool ActionsSuppressedReasonHasBeenSet() const { return m_actionsSuppressedReasonHasBeenSet; } /** *

Captures the reason for action suppression.

*/ inline void SetActionsSuppressedReason(const Aws::String& value) { m_actionsSuppressedReasonHasBeenSet = true; m_actionsSuppressedReason = value; } /** *

Captures the reason for action suppression.

*/ inline void SetActionsSuppressedReason(Aws::String&& value) { m_actionsSuppressedReasonHasBeenSet = true; m_actionsSuppressedReason = std::move(value); } /** *

Captures the reason for action suppression.

*/ inline void SetActionsSuppressedReason(const char* value) { m_actionsSuppressedReasonHasBeenSet = true; m_actionsSuppressedReason.assign(value); } /** *

Captures the reason for action suppression.

*/ inline CompositeAlarm& WithActionsSuppressedReason(const Aws::String& value) { SetActionsSuppressedReason(value); return *this;} /** *

Captures the reason for action suppression.

*/ inline CompositeAlarm& WithActionsSuppressedReason(Aws::String&& value) { SetActionsSuppressedReason(std::move(value)); return *this;} /** *

Captures the reason for action suppression.

*/ inline CompositeAlarm& WithActionsSuppressedReason(const char* value) { SetActionsSuppressedReason(value); return *this;} /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline const Aws::String& GetActionsSuppressor() const{ return m_actionsSuppressor; } /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline bool ActionsSuppressorHasBeenSet() const { return m_actionsSuppressorHasBeenSet; } /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline void SetActionsSuppressor(const Aws::String& value) { m_actionsSuppressorHasBeenSet = true; m_actionsSuppressor = value; } /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline void SetActionsSuppressor(Aws::String&& value) { m_actionsSuppressorHasBeenSet = true; m_actionsSuppressor = std::move(value); } /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline void SetActionsSuppressor(const char* value) { m_actionsSuppressorHasBeenSet = true; m_actionsSuppressor.assign(value); } /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline CompositeAlarm& WithActionsSuppressor(const Aws::String& value) { SetActionsSuppressor(value); return *this;} /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline CompositeAlarm& WithActionsSuppressor(Aws::String&& value) { SetActionsSuppressor(std::move(value)); return *this;} /** *

Actions will be suppressed if the suppressor alarm is in the * ALARM state. ActionsSuppressor can be an AlarmName or * an Amazon Resource Name (ARN) from an existing alarm.

*/ inline CompositeAlarm& WithActionsSuppressor(const char* value) { SetActionsSuppressor(value); return *this;} /** *

The maximum time in seconds that the composite alarm waits for the * suppressor alarm to go into the ALARM state. After this time, the * composite alarm performs its actions.

* WaitPeriod is required only when ActionsSuppressor is * specified.

*/ inline int GetActionsSuppressorWaitPeriod() const{ return m_actionsSuppressorWaitPeriod; } /** *

The maximum time in seconds that the composite alarm waits for the * suppressor alarm to go into the ALARM state. After this time, the * composite alarm performs its actions.

* WaitPeriod is required only when ActionsSuppressor is * specified.

*/ inline bool ActionsSuppressorWaitPeriodHasBeenSet() const { return m_actionsSuppressorWaitPeriodHasBeenSet; } /** *

The maximum time in seconds that the composite alarm waits for the * suppressor alarm to go into the ALARM state. After this time, the * composite alarm performs its actions.

* WaitPeriod is required only when ActionsSuppressor is * specified.

*/ inline void SetActionsSuppressorWaitPeriod(int value) { m_actionsSuppressorWaitPeriodHasBeenSet = true; m_actionsSuppressorWaitPeriod = value; } /** *

The maximum time in seconds that the composite alarm waits for the * suppressor alarm to go into the ALARM state. After this time, the * composite alarm performs its actions.

* WaitPeriod is required only when ActionsSuppressor is * specified.

*/ inline CompositeAlarm& WithActionsSuppressorWaitPeriod(int value) { SetActionsSuppressorWaitPeriod(value); return *this;} /** *

The maximum time in seconds that the composite alarm waits after suppressor * alarm goes out of the ALARM state. After this time, the composite * alarm performs its actions.

ExtensionPeriod is * required only when ActionsSuppressor is specified.

* */ inline int GetActionsSuppressorExtensionPeriod() const{ return m_actionsSuppressorExtensionPeriod; } /** *

The maximum time in seconds that the composite alarm waits after suppressor * alarm goes out of the ALARM state. After this time, the composite * alarm performs its actions.

ExtensionPeriod is * required only when ActionsSuppressor is specified.

* */ inline bool ActionsSuppressorExtensionPeriodHasBeenSet() const { return m_actionsSuppressorExtensionPeriodHasBeenSet; } /** *

The maximum time in seconds that the composite alarm waits after suppressor * alarm goes out of the ALARM state. After this time, the composite * alarm performs its actions.

ExtensionPeriod is * required only when ActionsSuppressor is specified.

* */ inline void SetActionsSuppressorExtensionPeriod(int value) { m_actionsSuppressorExtensionPeriodHasBeenSet = true; m_actionsSuppressorExtensionPeriod = value; } /** *

The maximum time in seconds that the composite alarm waits after suppressor * alarm goes out of the ALARM state. After this time, the composite * alarm performs its actions.

ExtensionPeriod is * required only when ActionsSuppressor is specified.

* */ inline CompositeAlarm& WithActionsSuppressorExtensionPeriod(int value) { SetActionsSuppressorExtensionPeriod(value); return *this;} private: bool m_actionsEnabled; bool m_actionsEnabledHasBeenSet = false; Aws::Vector m_alarmActions; bool m_alarmActionsHasBeenSet = false; Aws::String m_alarmArn; bool m_alarmArnHasBeenSet = false; Aws::Utils::DateTime m_alarmConfigurationUpdatedTimestamp; bool m_alarmConfigurationUpdatedTimestampHasBeenSet = false; Aws::String m_alarmDescription; bool m_alarmDescriptionHasBeenSet = false; Aws::String m_alarmName; bool m_alarmNameHasBeenSet = false; Aws::String m_alarmRule; bool m_alarmRuleHasBeenSet = false; Aws::Vector m_insufficientDataActions; bool m_insufficientDataActionsHasBeenSet = false; Aws::Vector m_oKActions; bool m_oKActionsHasBeenSet = false; Aws::String m_stateReason; bool m_stateReasonHasBeenSet = false; Aws::String m_stateReasonData; bool m_stateReasonDataHasBeenSet = false; Aws::Utils::DateTime m_stateUpdatedTimestamp; bool m_stateUpdatedTimestampHasBeenSet = false; StateValue m_stateValue; bool m_stateValueHasBeenSet = false; Aws::Utils::DateTime m_stateTransitionedTimestamp; bool m_stateTransitionedTimestampHasBeenSet = false; ActionsSuppressedBy m_actionsSuppressedBy; bool m_actionsSuppressedByHasBeenSet = false; Aws::String m_actionsSuppressedReason; bool m_actionsSuppressedReasonHasBeenSet = false; Aws::String m_actionsSuppressor; bool m_actionsSuppressorHasBeenSet = false; int m_actionsSuppressorWaitPeriod; bool m_actionsSuppressorWaitPeriodHasBeenSet = false; int m_actionsSuppressorExtensionPeriod; bool m_actionsSuppressorExtensionPeriodHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws