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

Contains information about the current state of the alarm.

See * Also:

AWS * API Reference

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

The name of the alarm state. The state name can be one of the following * values:

  • DISABLED - When the alarm is in the * DISABLED state, it isn't ready to evaluate data. To enable the * alarm, you must change the alarm to the NORMAL state.

  • *
  • NORMAL - When the alarm is in the NORMAL * state, it's ready to evaluate data.

  • ACTIVE - If * the alarm is in the ACTIVE state, the alarm is invoked.

  • *
  • ACKNOWLEDGED - When the alarm is in the * ACKNOWLEDGED state, the alarm was invoked and you acknowledged the * alarm.

  • SNOOZE_DISABLED - When the alarm is in * the SNOOZE_DISABLED state, the alarm is disabled for a specified * period of time. After the snooze time, the alarm automatically changes to the * NORMAL state.

  • LATCHED - When the * alarm is in the LATCHED state, the alarm was invoked. However, the * data that the alarm is currently evaluating is within the specified range. To * change the alarm to the NORMAL state, you must acknowledge the * alarm.

*/ inline const AlarmStateName& GetStateName() const{ return m_stateName; } /** *

The name of the alarm state. The state name can be one of the following * values:

  • DISABLED - When the alarm is in the * DISABLED state, it isn't ready to evaluate data. To enable the * alarm, you must change the alarm to the NORMAL state.

  • *
  • NORMAL - When the alarm is in the NORMAL * state, it's ready to evaluate data.

  • ACTIVE - If * the alarm is in the ACTIVE state, the alarm is invoked.

  • *
  • ACKNOWLEDGED - When the alarm is in the * ACKNOWLEDGED state, the alarm was invoked and you acknowledged the * alarm.

  • SNOOZE_DISABLED - When the alarm is in * the SNOOZE_DISABLED state, the alarm is disabled for a specified * period of time. After the snooze time, the alarm automatically changes to the * NORMAL state.

  • LATCHED - When the * alarm is in the LATCHED state, the alarm was invoked. However, the * data that the alarm is currently evaluating is within the specified range. To * change the alarm to the NORMAL state, you must acknowledge the * alarm.

*/ inline bool StateNameHasBeenSet() const { return m_stateNameHasBeenSet; } /** *

The name of the alarm state. The state name can be one of the following * values:

  • DISABLED - When the alarm is in the * DISABLED state, it isn't ready to evaluate data. To enable the * alarm, you must change the alarm to the NORMAL state.

  • *
  • NORMAL - When the alarm is in the NORMAL * state, it's ready to evaluate data.

  • ACTIVE - If * the alarm is in the ACTIVE state, the alarm is invoked.

  • *
  • ACKNOWLEDGED - When the alarm is in the * ACKNOWLEDGED state, the alarm was invoked and you acknowledged the * alarm.

  • SNOOZE_DISABLED - When the alarm is in * the SNOOZE_DISABLED state, the alarm is disabled for a specified * period of time. After the snooze time, the alarm automatically changes to the * NORMAL state.

  • LATCHED - When the * alarm is in the LATCHED state, the alarm was invoked. However, the * data that the alarm is currently evaluating is within the specified range. To * change the alarm to the NORMAL state, you must acknowledge the * alarm.

*/ inline void SetStateName(const AlarmStateName& value) { m_stateNameHasBeenSet = true; m_stateName = value; } /** *

The name of the alarm state. The state name can be one of the following * values:

  • DISABLED - When the alarm is in the * DISABLED state, it isn't ready to evaluate data. To enable the * alarm, you must change the alarm to the NORMAL state.

  • *
  • NORMAL - When the alarm is in the NORMAL * state, it's ready to evaluate data.

  • ACTIVE - If * the alarm is in the ACTIVE state, the alarm is invoked.

  • *
  • ACKNOWLEDGED - When the alarm is in the * ACKNOWLEDGED state, the alarm was invoked and you acknowledged the * alarm.

  • SNOOZE_DISABLED - When the alarm is in * the SNOOZE_DISABLED state, the alarm is disabled for a specified * period of time. After the snooze time, the alarm automatically changes to the * NORMAL state.

  • LATCHED - When the * alarm is in the LATCHED state, the alarm was invoked. However, the * data that the alarm is currently evaluating is within the specified range. To * change the alarm to the NORMAL state, you must acknowledge the * alarm.

*/ inline void SetStateName(AlarmStateName&& value) { m_stateNameHasBeenSet = true; m_stateName = std::move(value); } /** *

The name of the alarm state. The state name can be one of the following * values:

  • DISABLED - When the alarm is in the * DISABLED state, it isn't ready to evaluate data. To enable the * alarm, you must change the alarm to the NORMAL state.

  • *
  • NORMAL - When the alarm is in the NORMAL * state, it's ready to evaluate data.

  • ACTIVE - If * the alarm is in the ACTIVE state, the alarm is invoked.

  • *
  • ACKNOWLEDGED - When the alarm is in the * ACKNOWLEDGED state, the alarm was invoked and you acknowledged the * alarm.

  • SNOOZE_DISABLED - When the alarm is in * the SNOOZE_DISABLED state, the alarm is disabled for a specified * period of time. After the snooze time, the alarm automatically changes to the * NORMAL state.

  • LATCHED - When the * alarm is in the LATCHED state, the alarm was invoked. However, the * data that the alarm is currently evaluating is within the specified range. To * change the alarm to the NORMAL state, you must acknowledge the * alarm.

*/ inline AlarmState& WithStateName(const AlarmStateName& value) { SetStateName(value); return *this;} /** *

The name of the alarm state. The state name can be one of the following * values:

  • DISABLED - When the alarm is in the * DISABLED state, it isn't ready to evaluate data. To enable the * alarm, you must change the alarm to the NORMAL state.

  • *
  • NORMAL - When the alarm is in the NORMAL * state, it's ready to evaluate data.

  • ACTIVE - If * the alarm is in the ACTIVE state, the alarm is invoked.

  • *
  • ACKNOWLEDGED - When the alarm is in the * ACKNOWLEDGED state, the alarm was invoked and you acknowledged the * alarm.

  • SNOOZE_DISABLED - When the alarm is in * the SNOOZE_DISABLED state, the alarm is disabled for a specified * period of time. After the snooze time, the alarm automatically changes to the * NORMAL state.

  • LATCHED - When the * alarm is in the LATCHED state, the alarm was invoked. However, the * data that the alarm is currently evaluating is within the specified range. To * change the alarm to the NORMAL state, you must acknowledge the * alarm.

*/ inline AlarmState& WithStateName(AlarmStateName&& value) { SetStateName(std::move(value)); return *this;} /** *

Information needed to evaluate data.

*/ inline const RuleEvaluation& GetRuleEvaluation() const{ return m_ruleEvaluation; } /** *

Information needed to evaluate data.

*/ inline bool RuleEvaluationHasBeenSet() const { return m_ruleEvaluationHasBeenSet; } /** *

Information needed to evaluate data.

*/ inline void SetRuleEvaluation(const RuleEvaluation& value) { m_ruleEvaluationHasBeenSet = true; m_ruleEvaluation = value; } /** *

Information needed to evaluate data.

*/ inline void SetRuleEvaluation(RuleEvaluation&& value) { m_ruleEvaluationHasBeenSet = true; m_ruleEvaluation = std::move(value); } /** *

Information needed to evaluate data.

*/ inline AlarmState& WithRuleEvaluation(const RuleEvaluation& value) { SetRuleEvaluation(value); return *this;} /** *

Information needed to evaluate data.

*/ inline AlarmState& WithRuleEvaluation(RuleEvaluation&& value) { SetRuleEvaluation(std::move(value)); return *this;} /** *

Contains information about the action that you can take to respond to the * alarm.

*/ inline const CustomerAction& GetCustomerAction() const{ return m_customerAction; } /** *

Contains information about the action that you can take to respond to the * alarm.

*/ inline bool CustomerActionHasBeenSet() const { return m_customerActionHasBeenSet; } /** *

Contains information about the action that you can take to respond to the * alarm.

*/ inline void SetCustomerAction(const CustomerAction& value) { m_customerActionHasBeenSet = true; m_customerAction = value; } /** *

Contains information about the action that you can take to respond to the * alarm.

*/ inline void SetCustomerAction(CustomerAction&& value) { m_customerActionHasBeenSet = true; m_customerAction = std::move(value); } /** *

Contains information about the action that you can take to respond to the * alarm.

*/ inline AlarmState& WithCustomerAction(const CustomerAction& value) { SetCustomerAction(value); return *this;} /** *

Contains information about the action that you can take to respond to the * alarm.

*/ inline AlarmState& WithCustomerAction(CustomerAction&& value) { SetCustomerAction(std::move(value)); return *this;} /** *

Contains information about alarm state changes.

*/ inline const SystemEvent& GetSystemEvent() const{ return m_systemEvent; } /** *

Contains information about alarm state changes.

*/ inline bool SystemEventHasBeenSet() const { return m_systemEventHasBeenSet; } /** *

Contains information about alarm state changes.

*/ inline void SetSystemEvent(const SystemEvent& value) { m_systemEventHasBeenSet = true; m_systemEvent = value; } /** *

Contains information about alarm state changes.

*/ inline void SetSystemEvent(SystemEvent&& value) { m_systemEventHasBeenSet = true; m_systemEvent = std::move(value); } /** *

Contains information about alarm state changes.

*/ inline AlarmState& WithSystemEvent(const SystemEvent& value) { SetSystemEvent(value); return *this;} /** *

Contains information about alarm state changes.

*/ inline AlarmState& WithSystemEvent(SystemEvent&& value) { SetSystemEvent(std::move(value)); return *this;} private: AlarmStateName m_stateName; bool m_stateNameHasBeenSet = false; RuleEvaluation m_ruleEvaluation; bool m_ruleEvaluationHasBeenSet = false; CustomerAction m_customerAction; bool m_customerActionHasBeenSet = false; SystemEvent m_systemEvent; bool m_systemEventHasBeenSet = false; }; } // namespace Model } // namespace IoTEventsData } // namespace Aws