/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 alarm state changes.

See Also:

AWS * API Reference

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

The event type. If the value is STATE_CHANGE, the event contains * information about alarm state changes.

*/ inline const EventType& GetEventType() const{ return m_eventType; } /** *

The event type. If the value is STATE_CHANGE, the event contains * information about alarm state changes.

*/ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

The event type. If the value is STATE_CHANGE, the event contains * information about alarm state changes.

*/ inline void SetEventType(const EventType& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

The event type. If the value is STATE_CHANGE, the event contains * information about alarm state changes.

*/ inline void SetEventType(EventType&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

The event type. If the value is STATE_CHANGE, the event contains * information about alarm state changes.

*/ inline SystemEvent& WithEventType(const EventType& value) { SetEventType(value); return *this;} /** *

The event type. If the value is STATE_CHANGE, the event contains * information about alarm state changes.

*/ inline SystemEvent& WithEventType(EventType&& value) { SetEventType(std::move(value)); return *this;} /** *

Contains the configuration information of alarm state changes.

*/ inline const StateChangeConfiguration& GetStateChangeConfiguration() const{ return m_stateChangeConfiguration; } /** *

Contains the configuration information of alarm state changes.

*/ inline bool StateChangeConfigurationHasBeenSet() const { return m_stateChangeConfigurationHasBeenSet; } /** *

Contains the configuration information of alarm state changes.

*/ inline void SetStateChangeConfiguration(const StateChangeConfiguration& value) { m_stateChangeConfigurationHasBeenSet = true; m_stateChangeConfiguration = value; } /** *

Contains the configuration information of alarm state changes.

*/ inline void SetStateChangeConfiguration(StateChangeConfiguration&& value) { m_stateChangeConfigurationHasBeenSet = true; m_stateChangeConfiguration = std::move(value); } /** *

Contains the configuration information of alarm state changes.

*/ inline SystemEvent& WithStateChangeConfiguration(const StateChangeConfiguration& value) { SetStateChangeConfiguration(value); return *this;} /** *

Contains the configuration information of alarm state changes.

*/ inline SystemEvent& WithStateChangeConfiguration(StateChangeConfiguration&& value) { SetStateChangeConfiguration(std::move(value)); return *this;} private: EventType m_eventType; bool m_eventTypeHasBeenSet = false; StateChangeConfiguration m_stateChangeConfiguration; bool m_stateChangeConfigurationHasBeenSet = false; }; } // namespace Model } // namespace IoTEventsData } // namespace Aws