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

Connection status event configuration object for enabling or disabling * topic.

See Also:

AWS * API Reference

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

Connection status event configuration object for enabling or disabling * LoRaWAN related event topics.

*/ inline const LoRaWANConnectionStatusEventNotificationConfigurations& GetLoRaWAN() const{ return m_loRaWAN; } /** *

Connection status event configuration object for enabling or disabling * LoRaWAN related event topics.

*/ inline bool LoRaWANHasBeenSet() const { return m_loRaWANHasBeenSet; } /** *

Connection status event configuration object for enabling or disabling * LoRaWAN related event topics.

*/ inline void SetLoRaWAN(const LoRaWANConnectionStatusEventNotificationConfigurations& value) { m_loRaWANHasBeenSet = true; m_loRaWAN = value; } /** *

Connection status event configuration object for enabling or disabling * LoRaWAN related event topics.

*/ inline void SetLoRaWAN(LoRaWANConnectionStatusEventNotificationConfigurations&& value) { m_loRaWANHasBeenSet = true; m_loRaWAN = std::move(value); } /** *

Connection status event configuration object for enabling or disabling * LoRaWAN related event topics.

*/ inline ConnectionStatusEventConfiguration& WithLoRaWAN(const LoRaWANConnectionStatusEventNotificationConfigurations& value) { SetLoRaWAN(value); return *this;} /** *

Connection status event configuration object for enabling or disabling * LoRaWAN related event topics.

*/ inline ConnectionStatusEventConfiguration& WithLoRaWAN(LoRaWANConnectionStatusEventNotificationConfigurations&& value) { SetLoRaWAN(std::move(value)); return *this;} /** *

Denotes whether the wireless gateway ID connection status event topic is * enabled or disabled.

*/ inline const EventNotificationTopicStatus& GetWirelessGatewayIdEventTopic() const{ return m_wirelessGatewayIdEventTopic; } /** *

Denotes whether the wireless gateway ID connection status event topic is * enabled or disabled.

*/ inline bool WirelessGatewayIdEventTopicHasBeenSet() const { return m_wirelessGatewayIdEventTopicHasBeenSet; } /** *

Denotes whether the wireless gateway ID connection status event topic is * enabled or disabled.

*/ inline void SetWirelessGatewayIdEventTopic(const EventNotificationTopicStatus& value) { m_wirelessGatewayIdEventTopicHasBeenSet = true; m_wirelessGatewayIdEventTopic = value; } /** *

Denotes whether the wireless gateway ID connection status event topic is * enabled or disabled.

*/ inline void SetWirelessGatewayIdEventTopic(EventNotificationTopicStatus&& value) { m_wirelessGatewayIdEventTopicHasBeenSet = true; m_wirelessGatewayIdEventTopic = std::move(value); } /** *

Denotes whether the wireless gateway ID connection status event topic is * enabled or disabled.

*/ inline ConnectionStatusEventConfiguration& WithWirelessGatewayIdEventTopic(const EventNotificationTopicStatus& value) { SetWirelessGatewayIdEventTopic(value); return *this;} /** *

Denotes whether the wireless gateway ID connection status event topic is * enabled or disabled.

*/ inline ConnectionStatusEventConfiguration& WithWirelessGatewayIdEventTopic(EventNotificationTopicStatus&& value) { SetWirelessGatewayIdEventTopic(std::move(value)); return *this;} private: LoRaWANConnectionStatusEventNotificationConfigurations m_loRaWAN; bool m_loRaWANHasBeenSet = false; EventNotificationTopicStatus m_wirelessGatewayIdEventTopic; bool m_wirelessGatewayIdEventTopicHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws