/** * 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 { /** *

LoRaWANDeviceProfile object.

See Also:

AWS * API Reference

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

The SupportsClassB value.

*/ inline bool GetSupportsClassB() const{ return m_supportsClassB; } /** *

The SupportsClassB value.

*/ inline bool SupportsClassBHasBeenSet() const { return m_supportsClassBHasBeenSet; } /** *

The SupportsClassB value.

*/ inline void SetSupportsClassB(bool value) { m_supportsClassBHasBeenSet = true; m_supportsClassB = value; } /** *

The SupportsClassB value.

*/ inline LoRaWANDeviceProfile& WithSupportsClassB(bool value) { SetSupportsClassB(value); return *this;} /** *

The ClassBTimeout value.

*/ inline int GetClassBTimeout() const{ return m_classBTimeout; } /** *

The ClassBTimeout value.

*/ inline bool ClassBTimeoutHasBeenSet() const { return m_classBTimeoutHasBeenSet; } /** *

The ClassBTimeout value.

*/ inline void SetClassBTimeout(int value) { m_classBTimeoutHasBeenSet = true; m_classBTimeout = value; } /** *

The ClassBTimeout value.

*/ inline LoRaWANDeviceProfile& WithClassBTimeout(int value) { SetClassBTimeout(value); return *this;} /** *

The PingSlotPeriod value.

*/ inline int GetPingSlotPeriod() const{ return m_pingSlotPeriod; } /** *

The PingSlotPeriod value.

*/ inline bool PingSlotPeriodHasBeenSet() const { return m_pingSlotPeriodHasBeenSet; } /** *

The PingSlotPeriod value.

*/ inline void SetPingSlotPeriod(int value) { m_pingSlotPeriodHasBeenSet = true; m_pingSlotPeriod = value; } /** *

The PingSlotPeriod value.

*/ inline LoRaWANDeviceProfile& WithPingSlotPeriod(int value) { SetPingSlotPeriod(value); return *this;} /** *

The PingSlotDR value.

*/ inline int GetPingSlotDr() const{ return m_pingSlotDr; } /** *

The PingSlotDR value.

*/ inline bool PingSlotDrHasBeenSet() const { return m_pingSlotDrHasBeenSet; } /** *

The PingSlotDR value.

*/ inline void SetPingSlotDr(int value) { m_pingSlotDrHasBeenSet = true; m_pingSlotDr = value; } /** *

The PingSlotDR value.

*/ inline LoRaWANDeviceProfile& WithPingSlotDr(int value) { SetPingSlotDr(value); return *this;} /** *

The PingSlotFreq value.

*/ inline int GetPingSlotFreq() const{ return m_pingSlotFreq; } /** *

The PingSlotFreq value.

*/ inline bool PingSlotFreqHasBeenSet() const { return m_pingSlotFreqHasBeenSet; } /** *

The PingSlotFreq value.

*/ inline void SetPingSlotFreq(int value) { m_pingSlotFreqHasBeenSet = true; m_pingSlotFreq = value; } /** *

The PingSlotFreq value.

*/ inline LoRaWANDeviceProfile& WithPingSlotFreq(int value) { SetPingSlotFreq(value); return *this;} /** *

The SupportsClassC value.

*/ inline bool GetSupportsClassC() const{ return m_supportsClassC; } /** *

The SupportsClassC value.

*/ inline bool SupportsClassCHasBeenSet() const { return m_supportsClassCHasBeenSet; } /** *

The SupportsClassC value.

*/ inline void SetSupportsClassC(bool value) { m_supportsClassCHasBeenSet = true; m_supportsClassC = value; } /** *

The SupportsClassC value.

*/ inline LoRaWANDeviceProfile& WithSupportsClassC(bool value) { SetSupportsClassC(value); return *this;} /** *

The ClassCTimeout value.

*/ inline int GetClassCTimeout() const{ return m_classCTimeout; } /** *

The ClassCTimeout value.

*/ inline bool ClassCTimeoutHasBeenSet() const { return m_classCTimeoutHasBeenSet; } /** *

The ClassCTimeout value.

*/ inline void SetClassCTimeout(int value) { m_classCTimeoutHasBeenSet = true; m_classCTimeout = value; } /** *

The ClassCTimeout value.

*/ inline LoRaWANDeviceProfile& WithClassCTimeout(int value) { SetClassCTimeout(value); return *this;} /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline const Aws::String& GetMacVersion() const{ return m_macVersion; } /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline bool MacVersionHasBeenSet() const { return m_macVersionHasBeenSet; } /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline void SetMacVersion(const Aws::String& value) { m_macVersionHasBeenSet = true; m_macVersion = value; } /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline void SetMacVersion(Aws::String&& value) { m_macVersionHasBeenSet = true; m_macVersion = std::move(value); } /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline void SetMacVersion(const char* value) { m_macVersionHasBeenSet = true; m_macVersion.assign(value); } /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline LoRaWANDeviceProfile& WithMacVersion(const Aws::String& value) { SetMacVersion(value); return *this;} /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline LoRaWANDeviceProfile& WithMacVersion(Aws::String&& value) { SetMacVersion(std::move(value)); return *this;} /** *

The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device * profile.

*/ inline LoRaWANDeviceProfile& WithMacVersion(const char* value) { SetMacVersion(value); return *this;} /** *

The version of regional parameters.

*/ inline const Aws::String& GetRegParamsRevision() const{ return m_regParamsRevision; } /** *

The version of regional parameters.

*/ inline bool RegParamsRevisionHasBeenSet() const { return m_regParamsRevisionHasBeenSet; } /** *

The version of regional parameters.

*/ inline void SetRegParamsRevision(const Aws::String& value) { m_regParamsRevisionHasBeenSet = true; m_regParamsRevision = value; } /** *

The version of regional parameters.

*/ inline void SetRegParamsRevision(Aws::String&& value) { m_regParamsRevisionHasBeenSet = true; m_regParamsRevision = std::move(value); } /** *

The version of regional parameters.

*/ inline void SetRegParamsRevision(const char* value) { m_regParamsRevisionHasBeenSet = true; m_regParamsRevision.assign(value); } /** *

The version of regional parameters.

*/ inline LoRaWANDeviceProfile& WithRegParamsRevision(const Aws::String& value) { SetRegParamsRevision(value); return *this;} /** *

The version of regional parameters.

*/ inline LoRaWANDeviceProfile& WithRegParamsRevision(Aws::String&& value) { SetRegParamsRevision(std::move(value)); return *this;} /** *

The version of regional parameters.

*/ inline LoRaWANDeviceProfile& WithRegParamsRevision(const char* value) { SetRegParamsRevision(value); return *this;} /** *

The RXDelay1 value.

*/ inline int GetRxDelay1() const{ return m_rxDelay1; } /** *

The RXDelay1 value.

*/ inline bool RxDelay1HasBeenSet() const { return m_rxDelay1HasBeenSet; } /** *

The RXDelay1 value.

*/ inline void SetRxDelay1(int value) { m_rxDelay1HasBeenSet = true; m_rxDelay1 = value; } /** *

The RXDelay1 value.

*/ inline LoRaWANDeviceProfile& WithRxDelay1(int value) { SetRxDelay1(value); return *this;} /** *

The RXDROffset1 value.

*/ inline int GetRxDrOffset1() const{ return m_rxDrOffset1; } /** *

The RXDROffset1 value.

*/ inline bool RxDrOffset1HasBeenSet() const { return m_rxDrOffset1HasBeenSet; } /** *

The RXDROffset1 value.

*/ inline void SetRxDrOffset1(int value) { m_rxDrOffset1HasBeenSet = true; m_rxDrOffset1 = value; } /** *

The RXDROffset1 value.

*/ inline LoRaWANDeviceProfile& WithRxDrOffset1(int value) { SetRxDrOffset1(value); return *this;} /** *

The RXDataRate2 value.

*/ inline int GetRxDataRate2() const{ return m_rxDataRate2; } /** *

The RXDataRate2 value.

*/ inline bool RxDataRate2HasBeenSet() const { return m_rxDataRate2HasBeenSet; } /** *

The RXDataRate2 value.

*/ inline void SetRxDataRate2(int value) { m_rxDataRate2HasBeenSet = true; m_rxDataRate2 = value; } /** *

The RXDataRate2 value.

*/ inline LoRaWANDeviceProfile& WithRxDataRate2(int value) { SetRxDataRate2(value); return *this;} /** *

The RXFreq2 value.

*/ inline int GetRxFreq2() const{ return m_rxFreq2; } /** *

The RXFreq2 value.

*/ inline bool RxFreq2HasBeenSet() const { return m_rxFreq2HasBeenSet; } /** *

The RXFreq2 value.

*/ inline void SetRxFreq2(int value) { m_rxFreq2HasBeenSet = true; m_rxFreq2 = value; } /** *

The RXFreq2 value.

*/ inline LoRaWANDeviceProfile& WithRxFreq2(int value) { SetRxFreq2(value); return *this;} /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline const Aws::Vector& GetFactoryPresetFreqsList() const{ return m_factoryPresetFreqsList; } /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline bool FactoryPresetFreqsListHasBeenSet() const { return m_factoryPresetFreqsListHasBeenSet; } /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline void SetFactoryPresetFreqsList(const Aws::Vector& value) { m_factoryPresetFreqsListHasBeenSet = true; m_factoryPresetFreqsList = value; } /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline void SetFactoryPresetFreqsList(Aws::Vector&& value) { m_factoryPresetFreqsListHasBeenSet = true; m_factoryPresetFreqsList = std::move(value); } /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline LoRaWANDeviceProfile& WithFactoryPresetFreqsList(const Aws::Vector& value) { SetFactoryPresetFreqsList(value); return *this;} /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline LoRaWANDeviceProfile& WithFactoryPresetFreqsList(Aws::Vector&& value) { SetFactoryPresetFreqsList(std::move(value)); return *this;} /** *

The list of values that make up the FactoryPresetFreqs value.

*/ inline LoRaWANDeviceProfile& AddFactoryPresetFreqsList(int value) { m_factoryPresetFreqsListHasBeenSet = true; m_factoryPresetFreqsList.push_back(value); return *this; } /** *

The MaxEIRP value.

*/ inline int GetMaxEirp() const{ return m_maxEirp; } /** *

The MaxEIRP value.

*/ inline bool MaxEirpHasBeenSet() const { return m_maxEirpHasBeenSet; } /** *

The MaxEIRP value.

*/ inline void SetMaxEirp(int value) { m_maxEirpHasBeenSet = true; m_maxEirp = value; } /** *

The MaxEIRP value.

*/ inline LoRaWANDeviceProfile& WithMaxEirp(int value) { SetMaxEirp(value); return *this;} /** *

The MaxDutyCycle value.

*/ inline int GetMaxDutyCycle() const{ return m_maxDutyCycle; } /** *

The MaxDutyCycle value.

*/ inline bool MaxDutyCycleHasBeenSet() const { return m_maxDutyCycleHasBeenSet; } /** *

The MaxDutyCycle value.

*/ inline void SetMaxDutyCycle(int value) { m_maxDutyCycleHasBeenSet = true; m_maxDutyCycle = value; } /** *

The MaxDutyCycle value.

*/ inline LoRaWANDeviceProfile& WithMaxDutyCycle(int value) { SetMaxDutyCycle(value); return *this;} /** *

The frequency band (RFRegion) value.

*/ inline const Aws::String& GetRfRegion() const{ return m_rfRegion; } /** *

The frequency band (RFRegion) value.

*/ inline bool RfRegionHasBeenSet() const { return m_rfRegionHasBeenSet; } /** *

The frequency band (RFRegion) value.

*/ inline void SetRfRegion(const Aws::String& value) { m_rfRegionHasBeenSet = true; m_rfRegion = value; } /** *

The frequency band (RFRegion) value.

*/ inline void SetRfRegion(Aws::String&& value) { m_rfRegionHasBeenSet = true; m_rfRegion = std::move(value); } /** *

The frequency band (RFRegion) value.

*/ inline void SetRfRegion(const char* value) { m_rfRegionHasBeenSet = true; m_rfRegion.assign(value); } /** *

The frequency band (RFRegion) value.

*/ inline LoRaWANDeviceProfile& WithRfRegion(const Aws::String& value) { SetRfRegion(value); return *this;} /** *

The frequency band (RFRegion) value.

*/ inline LoRaWANDeviceProfile& WithRfRegion(Aws::String&& value) { SetRfRegion(std::move(value)); return *this;} /** *

The frequency band (RFRegion) value.

*/ inline LoRaWANDeviceProfile& WithRfRegion(const char* value) { SetRfRegion(value); return *this;} /** *

The SupportsJoin value.

*/ inline bool GetSupportsJoin() const{ return m_supportsJoin; } /** *

The SupportsJoin value.

*/ inline bool SupportsJoinHasBeenSet() const { return m_supportsJoinHasBeenSet; } /** *

The SupportsJoin value.

*/ inline void SetSupportsJoin(bool value) { m_supportsJoinHasBeenSet = true; m_supportsJoin = value; } /** *

The SupportsJoin value.

*/ inline LoRaWANDeviceProfile& WithSupportsJoin(bool value) { SetSupportsJoin(value); return *this;} /** *

The Supports32BitFCnt value.

*/ inline bool GetSupports32BitFCnt() const{ return m_supports32BitFCnt; } /** *

The Supports32BitFCnt value.

*/ inline bool Supports32BitFCntHasBeenSet() const { return m_supports32BitFCntHasBeenSet; } /** *

The Supports32BitFCnt value.

*/ inline void SetSupports32BitFCnt(bool value) { m_supports32BitFCntHasBeenSet = true; m_supports32BitFCnt = value; } /** *

The Supports32BitFCnt value.

*/ inline LoRaWANDeviceProfile& WithSupports32BitFCnt(bool value) { SetSupports32BitFCnt(value); return *this;} private: bool m_supportsClassB; bool m_supportsClassBHasBeenSet = false; int m_classBTimeout; bool m_classBTimeoutHasBeenSet = false; int m_pingSlotPeriod; bool m_pingSlotPeriodHasBeenSet = false; int m_pingSlotDr; bool m_pingSlotDrHasBeenSet = false; int m_pingSlotFreq; bool m_pingSlotFreqHasBeenSet = false; bool m_supportsClassC; bool m_supportsClassCHasBeenSet = false; int m_classCTimeout; bool m_classCTimeoutHasBeenSet = false; Aws::String m_macVersion; bool m_macVersionHasBeenSet = false; Aws::String m_regParamsRevision; bool m_regParamsRevisionHasBeenSet = false; int m_rxDelay1; bool m_rxDelay1HasBeenSet = false; int m_rxDrOffset1; bool m_rxDrOffset1HasBeenSet = false; int m_rxDataRate2; bool m_rxDataRate2HasBeenSet = false; int m_rxFreq2; bool m_rxFreq2HasBeenSet = false; Aws::Vector m_factoryPresetFreqsList; bool m_factoryPresetFreqsListHasBeenSet = false; int m_maxEirp; bool m_maxEirpHasBeenSet = false; int m_maxDutyCycle; bool m_maxDutyCycleHasBeenSet = false; Aws::String m_rfRegion; bool m_rfRegionHasBeenSet = false; bool m_supportsJoin; bool m_supportsJoinHasBeenSet = false; bool m_supports32BitFCnt; bool m_supports32BitFCntHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws