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

Object of all event configurations and the status of the event * topics.

See Also:

AWS * API Reference

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

Device registration state event configuration for an event configuration * item.

*/ inline const DeviceRegistrationStateEventConfiguration& GetDeviceRegistrationState() const{ return m_deviceRegistrationState; } /** *

Device registration state event configuration for an event configuration * item.

*/ inline bool DeviceRegistrationStateHasBeenSet() const { return m_deviceRegistrationStateHasBeenSet; } /** *

Device registration state event configuration for an event configuration * item.

*/ inline void SetDeviceRegistrationState(const DeviceRegistrationStateEventConfiguration& value) { m_deviceRegistrationStateHasBeenSet = true; m_deviceRegistrationState = value; } /** *

Device registration state event configuration for an event configuration * item.

*/ inline void SetDeviceRegistrationState(DeviceRegistrationStateEventConfiguration&& value) { m_deviceRegistrationStateHasBeenSet = true; m_deviceRegistrationState = std::move(value); } /** *

Device registration state event configuration for an event configuration * item.

*/ inline EventNotificationItemConfigurations& WithDeviceRegistrationState(const DeviceRegistrationStateEventConfiguration& value) { SetDeviceRegistrationState(value); return *this;} /** *

Device registration state event configuration for an event configuration * item.

*/ inline EventNotificationItemConfigurations& WithDeviceRegistrationState(DeviceRegistrationStateEventConfiguration&& value) { SetDeviceRegistrationState(std::move(value)); return *this;} /** *

Proximity event configuration for an event configuration item.

*/ inline const ProximityEventConfiguration& GetProximity() const{ return m_proximity; } /** *

Proximity event configuration for an event configuration item.

*/ inline bool ProximityHasBeenSet() const { return m_proximityHasBeenSet; } /** *

Proximity event configuration for an event configuration item.

*/ inline void SetProximity(const ProximityEventConfiguration& value) { m_proximityHasBeenSet = true; m_proximity = value; } /** *

Proximity event configuration for an event configuration item.

*/ inline void SetProximity(ProximityEventConfiguration&& value) { m_proximityHasBeenSet = true; m_proximity = std::move(value); } /** *

Proximity event configuration for an event configuration item.

*/ inline EventNotificationItemConfigurations& WithProximity(const ProximityEventConfiguration& value) { SetProximity(value); return *this;} /** *

Proximity event configuration for an event configuration item.

*/ inline EventNotificationItemConfigurations& WithProximity(ProximityEventConfiguration&& value) { SetProximity(std::move(value)); return *this;} /** *

Join event configuration for an event configuration item.

*/ inline const JoinEventConfiguration& GetJoin() const{ return m_join; } /** *

Join event configuration for an event configuration item.

*/ inline bool JoinHasBeenSet() const { return m_joinHasBeenSet; } /** *

Join event configuration for an event configuration item.

*/ inline void SetJoin(const JoinEventConfiguration& value) { m_joinHasBeenSet = true; m_join = value; } /** *

Join event configuration for an event configuration item.

*/ inline void SetJoin(JoinEventConfiguration&& value) { m_joinHasBeenSet = true; m_join = std::move(value); } /** *

Join event configuration for an event configuration item.

*/ inline EventNotificationItemConfigurations& WithJoin(const JoinEventConfiguration& value) { SetJoin(value); return *this;} /** *

Join event configuration for an event configuration item.

*/ inline EventNotificationItemConfigurations& WithJoin(JoinEventConfiguration&& value) { SetJoin(std::move(value)); return *this;} /** *

Connection status event configuration for an event configuration item.

*/ inline const ConnectionStatusEventConfiguration& GetConnectionStatus() const{ return m_connectionStatus; } /** *

Connection status event configuration for an event configuration item.

*/ inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } /** *

Connection status event configuration for an event configuration item.

*/ inline void SetConnectionStatus(const ConnectionStatusEventConfiguration& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } /** *

Connection status event configuration for an event configuration item.

*/ inline void SetConnectionStatus(ConnectionStatusEventConfiguration&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } /** *

Connection status event configuration for an event configuration item.

*/ inline EventNotificationItemConfigurations& WithConnectionStatus(const ConnectionStatusEventConfiguration& value) { SetConnectionStatus(value); return *this;} /** *

Connection status event configuration for an event configuration item.

*/ inline EventNotificationItemConfigurations& WithConnectionStatus(ConnectionStatusEventConfiguration&& value) { SetConnectionStatus(std::move(value)); return *this;} /** *

Message delivery status event configuration for an event configuration * item.

*/ inline const MessageDeliveryStatusEventConfiguration& GetMessageDeliveryStatus() const{ return m_messageDeliveryStatus; } /** *

Message delivery status event configuration for an event configuration * item.

*/ inline bool MessageDeliveryStatusHasBeenSet() const { return m_messageDeliveryStatusHasBeenSet; } /** *

Message delivery status event configuration for an event configuration * item.

*/ inline void SetMessageDeliveryStatus(const MessageDeliveryStatusEventConfiguration& value) { m_messageDeliveryStatusHasBeenSet = true; m_messageDeliveryStatus = value; } /** *

Message delivery status event configuration for an event configuration * item.

*/ inline void SetMessageDeliveryStatus(MessageDeliveryStatusEventConfiguration&& value) { m_messageDeliveryStatusHasBeenSet = true; m_messageDeliveryStatus = std::move(value); } /** *

Message delivery status event configuration for an event configuration * item.

*/ inline EventNotificationItemConfigurations& WithMessageDeliveryStatus(const MessageDeliveryStatusEventConfiguration& value) { SetMessageDeliveryStatus(value); return *this;} /** *

Message delivery status event configuration for an event configuration * item.

*/ inline EventNotificationItemConfigurations& WithMessageDeliveryStatus(MessageDeliveryStatusEventConfiguration&& value) { SetMessageDeliveryStatus(std::move(value)); return *this;} private: DeviceRegistrationStateEventConfiguration m_deviceRegistrationState; bool m_deviceRegistrationStateHasBeenSet = false; ProximityEventConfiguration m_proximity; bool m_proximityHasBeenSet = false; JoinEventConfiguration m_join; bool m_joinHasBeenSet = false; ConnectionStatusEventConfiguration m_connectionStatus; bool m_connectionStatusHasBeenSet = false; MessageDeliveryStatusEventConfiguration m_messageDeliveryStatus; bool m_messageDeliveryStatusHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws