/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTEventsData { namespace Model { /** *

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

See Also:

AWS * API Reference

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

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

  • SNOOZE - When you snooze the alarm, the * alarm state changes to SNOOZE_DISABLED.

  • * ENABLE - When you enable the alarm, the alarm state changes to * NORMAL.

  • DISABLE - When you disable * the alarm, the alarm state changes to DISABLED.

  • * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state * changes to ACKNOWLEDGED.

  • RESET - * When you reset the alarm, the alarm state changes to NORMAL.

    *

For more information, see the AlarmState * API.

*/ inline const CustomerActionName& GetActionName() const{ return m_actionName; } /** *

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

  • SNOOZE - When you snooze the alarm, the * alarm state changes to SNOOZE_DISABLED.

  • * ENABLE - When you enable the alarm, the alarm state changes to * NORMAL.

  • DISABLE - When you disable * the alarm, the alarm state changes to DISABLED.

  • * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state * changes to ACKNOWLEDGED.

  • RESET - * When you reset the alarm, the alarm state changes to NORMAL.

    *

For more information, see the AlarmState * API.

*/ inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } /** *

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

  • SNOOZE - When you snooze the alarm, the * alarm state changes to SNOOZE_DISABLED.

  • * ENABLE - When you enable the alarm, the alarm state changes to * NORMAL.

  • DISABLE - When you disable * the alarm, the alarm state changes to DISABLED.

  • * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state * changes to ACKNOWLEDGED.

  • RESET - * When you reset the alarm, the alarm state changes to NORMAL.

    *

For more information, see the AlarmState * API.

*/ inline void SetActionName(const CustomerActionName& value) { m_actionNameHasBeenSet = true; m_actionName = value; } /** *

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

  • SNOOZE - When you snooze the alarm, the * alarm state changes to SNOOZE_DISABLED.

  • * ENABLE - When you enable the alarm, the alarm state changes to * NORMAL.

  • DISABLE - When you disable * the alarm, the alarm state changes to DISABLED.

  • * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state * changes to ACKNOWLEDGED.

  • RESET - * When you reset the alarm, the alarm state changes to NORMAL.

    *

For more information, see the AlarmState * API.

*/ inline void SetActionName(CustomerActionName&& value) { m_actionNameHasBeenSet = true; m_actionName = std::move(value); } /** *

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

  • SNOOZE - When you snooze the alarm, the * alarm state changes to SNOOZE_DISABLED.

  • * ENABLE - When you enable the alarm, the alarm state changes to * NORMAL.

  • DISABLE - When you disable * the alarm, the alarm state changes to DISABLED.

  • * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state * changes to ACKNOWLEDGED.

  • RESET - * When you reset the alarm, the alarm state changes to NORMAL.

    *

For more information, see the AlarmState * API.

*/ inline CustomerAction& WithActionName(const CustomerActionName& value) { SetActionName(value); return *this;} /** *

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

  • SNOOZE - When you snooze the alarm, the * alarm state changes to SNOOZE_DISABLED.

  • * ENABLE - When you enable the alarm, the alarm state changes to * NORMAL.

  • DISABLE - When you disable * the alarm, the alarm state changes to DISABLED.

  • * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state * changes to ACKNOWLEDGED.

  • RESET - * When you reset the alarm, the alarm state changes to NORMAL.

    *

For more information, see the AlarmState * API.

*/ inline CustomerAction& WithActionName(CustomerActionName&& value) { SetActionName(std::move(value)); return *this;} /** *

Contains the configuration information of a snooze action.

*/ inline const SnoozeActionConfiguration& GetSnoozeActionConfiguration() const{ return m_snoozeActionConfiguration; } /** *

Contains the configuration information of a snooze action.

*/ inline bool SnoozeActionConfigurationHasBeenSet() const { return m_snoozeActionConfigurationHasBeenSet; } /** *

Contains the configuration information of a snooze action.

*/ inline void SetSnoozeActionConfiguration(const SnoozeActionConfiguration& value) { m_snoozeActionConfigurationHasBeenSet = true; m_snoozeActionConfiguration = value; } /** *

Contains the configuration information of a snooze action.

*/ inline void SetSnoozeActionConfiguration(SnoozeActionConfiguration&& value) { m_snoozeActionConfigurationHasBeenSet = true; m_snoozeActionConfiguration = std::move(value); } /** *

Contains the configuration information of a snooze action.

*/ inline CustomerAction& WithSnoozeActionConfiguration(const SnoozeActionConfiguration& value) { SetSnoozeActionConfiguration(value); return *this;} /** *

Contains the configuration information of a snooze action.

*/ inline CustomerAction& WithSnoozeActionConfiguration(SnoozeActionConfiguration&& value) { SetSnoozeActionConfiguration(std::move(value)); return *this;} /** *

Contains the configuration information of an enable action.

*/ inline const EnableActionConfiguration& GetEnableActionConfiguration() const{ return m_enableActionConfiguration; } /** *

Contains the configuration information of an enable action.

*/ inline bool EnableActionConfigurationHasBeenSet() const { return m_enableActionConfigurationHasBeenSet; } /** *

Contains the configuration information of an enable action.

*/ inline void SetEnableActionConfiguration(const EnableActionConfiguration& value) { m_enableActionConfigurationHasBeenSet = true; m_enableActionConfiguration = value; } /** *

Contains the configuration information of an enable action.

*/ inline void SetEnableActionConfiguration(EnableActionConfiguration&& value) { m_enableActionConfigurationHasBeenSet = true; m_enableActionConfiguration = std::move(value); } /** *

Contains the configuration information of an enable action.

*/ inline CustomerAction& WithEnableActionConfiguration(const EnableActionConfiguration& value) { SetEnableActionConfiguration(value); return *this;} /** *

Contains the configuration information of an enable action.

*/ inline CustomerAction& WithEnableActionConfiguration(EnableActionConfiguration&& value) { SetEnableActionConfiguration(std::move(value)); return *this;} /** *

Contains the configuration information of a disable action.

*/ inline const DisableActionConfiguration& GetDisableActionConfiguration() const{ return m_disableActionConfiguration; } /** *

Contains the configuration information of a disable action.

*/ inline bool DisableActionConfigurationHasBeenSet() const { return m_disableActionConfigurationHasBeenSet; } /** *

Contains the configuration information of a disable action.

*/ inline void SetDisableActionConfiguration(const DisableActionConfiguration& value) { m_disableActionConfigurationHasBeenSet = true; m_disableActionConfiguration = value; } /** *

Contains the configuration information of a disable action.

*/ inline void SetDisableActionConfiguration(DisableActionConfiguration&& value) { m_disableActionConfigurationHasBeenSet = true; m_disableActionConfiguration = std::move(value); } /** *

Contains the configuration information of a disable action.

*/ inline CustomerAction& WithDisableActionConfiguration(const DisableActionConfiguration& value) { SetDisableActionConfiguration(value); return *this;} /** *

Contains the configuration information of a disable action.

*/ inline CustomerAction& WithDisableActionConfiguration(DisableActionConfiguration&& value) { SetDisableActionConfiguration(std::move(value)); return *this;} /** *

Contains the configuration information of an acknowledge action.

*/ inline const AcknowledgeActionConfiguration& GetAcknowledgeActionConfiguration() const{ return m_acknowledgeActionConfiguration; } /** *

Contains the configuration information of an acknowledge action.

*/ inline bool AcknowledgeActionConfigurationHasBeenSet() const { return m_acknowledgeActionConfigurationHasBeenSet; } /** *

Contains the configuration information of an acknowledge action.

*/ inline void SetAcknowledgeActionConfiguration(const AcknowledgeActionConfiguration& value) { m_acknowledgeActionConfigurationHasBeenSet = true; m_acknowledgeActionConfiguration = value; } /** *

Contains the configuration information of an acknowledge action.

*/ inline void SetAcknowledgeActionConfiguration(AcknowledgeActionConfiguration&& value) { m_acknowledgeActionConfigurationHasBeenSet = true; m_acknowledgeActionConfiguration = std::move(value); } /** *

Contains the configuration information of an acknowledge action.

*/ inline CustomerAction& WithAcknowledgeActionConfiguration(const AcknowledgeActionConfiguration& value) { SetAcknowledgeActionConfiguration(value); return *this;} /** *

Contains the configuration information of an acknowledge action.

*/ inline CustomerAction& WithAcknowledgeActionConfiguration(AcknowledgeActionConfiguration&& value) { SetAcknowledgeActionConfiguration(std::move(value)); return *this;} /** *

Contains the configuration information of a reset action.

*/ inline const ResetActionConfiguration& GetResetActionConfiguration() const{ return m_resetActionConfiguration; } /** *

Contains the configuration information of a reset action.

*/ inline bool ResetActionConfigurationHasBeenSet() const { return m_resetActionConfigurationHasBeenSet; } /** *

Contains the configuration information of a reset action.

*/ inline void SetResetActionConfiguration(const ResetActionConfiguration& value) { m_resetActionConfigurationHasBeenSet = true; m_resetActionConfiguration = value; } /** *

Contains the configuration information of a reset action.

*/ inline void SetResetActionConfiguration(ResetActionConfiguration&& value) { m_resetActionConfigurationHasBeenSet = true; m_resetActionConfiguration = std::move(value); } /** *

Contains the configuration information of a reset action.

*/ inline CustomerAction& WithResetActionConfiguration(const ResetActionConfiguration& value) { SetResetActionConfiguration(value); return *this;} /** *

Contains the configuration information of a reset action.

*/ inline CustomerAction& WithResetActionConfiguration(ResetActionConfiguration&& value) { SetResetActionConfiguration(std::move(value)); return *this;} private: CustomerActionName m_actionName; bool m_actionNameHasBeenSet = false; SnoozeActionConfiguration m_snoozeActionConfiguration; bool m_snoozeActionConfigurationHasBeenSet = false; EnableActionConfiguration m_enableActionConfiguration; bool m_enableActionConfigurationHasBeenSet = false; DisableActionConfiguration m_disableActionConfiguration; bool m_disableActionConfigurationHasBeenSet = false; AcknowledgeActionConfiguration m_acknowledgeActionConfiguration; bool m_acknowledgeActionConfigurationHasBeenSet = false; ResetActionConfiguration m_resetActionConfiguration; bool m_resetActionConfigurationHasBeenSet = false; }; } // namespace Model } // namespace IoTEventsData } // namespace Aws