/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTWireless { namespace Model { /** *

LoRaWAN device metatdata.

See Also:

AWS * API Reference

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

The DevEUI value.

*/ inline const Aws::String& GetDevEui() const{ return m_devEui; } /** *

The DevEUI value.

*/ inline bool DevEuiHasBeenSet() const { return m_devEuiHasBeenSet; } /** *

The DevEUI value.

*/ inline void SetDevEui(const Aws::String& value) { m_devEuiHasBeenSet = true; m_devEui = value; } /** *

The DevEUI value.

*/ inline void SetDevEui(Aws::String&& value) { m_devEuiHasBeenSet = true; m_devEui = std::move(value); } /** *

The DevEUI value.

*/ inline void SetDevEui(const char* value) { m_devEuiHasBeenSet = true; m_devEui.assign(value); } /** *

The DevEUI value.

*/ inline LoRaWANDeviceMetadata& WithDevEui(const Aws::String& value) { SetDevEui(value); return *this;} /** *

The DevEUI value.

*/ inline LoRaWANDeviceMetadata& WithDevEui(Aws::String&& value) { SetDevEui(std::move(value)); return *this;} /** *

The DevEUI value.

*/ inline LoRaWANDeviceMetadata& WithDevEui(const char* value) { SetDevEui(value); return *this;} /** *

The FPort value.

*/ inline int GetFPort() const{ return m_fPort; } /** *

The FPort value.

*/ inline bool FPortHasBeenSet() const { return m_fPortHasBeenSet; } /** *

The FPort value.

*/ inline void SetFPort(int value) { m_fPortHasBeenSet = true; m_fPort = value; } /** *

The FPort value.

*/ inline LoRaWANDeviceMetadata& WithFPort(int value) { SetFPort(value); return *this;} /** *

The DataRate value.

*/ inline int GetDataRate() const{ return m_dataRate; } /** *

The DataRate value.

*/ inline bool DataRateHasBeenSet() const { return m_dataRateHasBeenSet; } /** *

The DataRate value.

*/ inline void SetDataRate(int value) { m_dataRateHasBeenSet = true; m_dataRate = value; } /** *

The DataRate value.

*/ inline LoRaWANDeviceMetadata& WithDataRate(int value) { SetDataRate(value); return *this;} /** *

The device's channel frequency in Hz.

*/ inline int GetFrequency() const{ return m_frequency; } /** *

The device's channel frequency in Hz.

*/ inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } /** *

The device's channel frequency in Hz.

*/ inline void SetFrequency(int value) { m_frequencyHasBeenSet = true; m_frequency = value; } /** *

The device's channel frequency in Hz.

*/ inline LoRaWANDeviceMetadata& WithFrequency(int value) { SetFrequency(value); return *this;} /** *

The date and time of the metadata.

*/ inline const Aws::String& GetTimestamp() const{ return m_timestamp; } /** *

The date and time of the metadata.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The date and time of the metadata.

*/ inline void SetTimestamp(const Aws::String& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The date and time of the metadata.

*/ inline void SetTimestamp(Aws::String&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The date and time of the metadata.

*/ inline void SetTimestamp(const char* value) { m_timestampHasBeenSet = true; m_timestamp.assign(value); } /** *

The date and time of the metadata.

*/ inline LoRaWANDeviceMetadata& WithTimestamp(const Aws::String& value) { SetTimestamp(value); return *this;} /** *

The date and time of the metadata.

*/ inline LoRaWANDeviceMetadata& WithTimestamp(Aws::String&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The date and time of the metadata.

*/ inline LoRaWANDeviceMetadata& WithTimestamp(const char* value) { SetTimestamp(value); return *this;} /** *

Information about the gateways accessed by the device.

*/ inline const Aws::Vector& GetGateways() const{ return m_gateways; } /** *

Information about the gateways accessed by the device.

*/ inline bool GatewaysHasBeenSet() const { return m_gatewaysHasBeenSet; } /** *

Information about the gateways accessed by the device.

*/ inline void SetGateways(const Aws::Vector& value) { m_gatewaysHasBeenSet = true; m_gateways = value; } /** *

Information about the gateways accessed by the device.

*/ inline void SetGateways(Aws::Vector&& value) { m_gatewaysHasBeenSet = true; m_gateways = std::move(value); } /** *

Information about the gateways accessed by the device.

*/ inline LoRaWANDeviceMetadata& WithGateways(const Aws::Vector& value) { SetGateways(value); return *this;} /** *

Information about the gateways accessed by the device.

*/ inline LoRaWANDeviceMetadata& WithGateways(Aws::Vector&& value) { SetGateways(std::move(value)); return *this;} /** *

Information about the gateways accessed by the device.

*/ inline LoRaWANDeviceMetadata& AddGateways(const LoRaWANGatewayMetadata& value) { m_gatewaysHasBeenSet = true; m_gateways.push_back(value); return *this; } /** *

Information about the gateways accessed by the device.

*/ inline LoRaWANDeviceMetadata& AddGateways(LoRaWANGatewayMetadata&& value) { m_gatewaysHasBeenSet = true; m_gateways.push_back(std::move(value)); return *this; } private: Aws::String m_devEui; bool m_devEuiHasBeenSet = false; int m_fPort; bool m_fPortHasBeenSet = false; int m_dataRate; bool m_dataRateHasBeenSet = false; int m_frequency; bool m_frequencyHasBeenSet = false; Aws::String m_timestamp; bool m_timestampHasBeenSet = false; Aws::Vector m_gateways; bool m_gatewaysHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws