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

List of FPort assigned for different LoRaWAN application packages to * use

See Also:

AWS * API Reference

*/ class FPorts { public: AWS_IOTWIRELESS_API FPorts(); AWS_IOTWIRELESS_API FPorts(Aws::Utils::Json::JsonView jsonValue); AWS_IOTWIRELESS_API FPorts& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_IOTWIRELESS_API Aws::Utils::Json::JsonValue Jsonize() const; inline int GetFuota() const{ return m_fuota; } inline bool FuotaHasBeenSet() const { return m_fuotaHasBeenSet; } inline void SetFuota(int value) { m_fuotaHasBeenSet = true; m_fuota = value; } inline FPorts& WithFuota(int value) { SetFuota(value); return *this;} inline int GetMulticast() const{ return m_multicast; } inline bool MulticastHasBeenSet() const { return m_multicastHasBeenSet; } inline void SetMulticast(int value) { m_multicastHasBeenSet = true; m_multicast = value; } inline FPorts& WithMulticast(int value) { SetMulticast(value); return *this;} inline int GetClockSync() const{ return m_clockSync; } inline bool ClockSyncHasBeenSet() const { return m_clockSyncHasBeenSet; } inline void SetClockSync(int value) { m_clockSyncHasBeenSet = true; m_clockSync = value; } inline FPorts& WithClockSync(int value) { SetClockSync(value); return *this;} /** *

FPort values for the GNSS, stream, and ClockSync functions of the positioning * information.

*/ inline const Positioning& GetPositioning() const{ return m_positioning; } /** *

FPort values for the GNSS, stream, and ClockSync functions of the positioning * information.

*/ inline bool PositioningHasBeenSet() const { return m_positioningHasBeenSet; } /** *

FPort values for the GNSS, stream, and ClockSync functions of the positioning * information.

*/ inline void SetPositioning(const Positioning& value) { m_positioningHasBeenSet = true; m_positioning = value; } /** *

FPort values for the GNSS, stream, and ClockSync functions of the positioning * information.

*/ inline void SetPositioning(Positioning&& value) { m_positioningHasBeenSet = true; m_positioning = std::move(value); } /** *

FPort values for the GNSS, stream, and ClockSync functions of the positioning * information.

*/ inline FPorts& WithPositioning(const Positioning& value) { SetPositioning(value); return *this;} /** *

FPort values for the GNSS, stream, and ClockSync functions of the positioning * information.

*/ inline FPorts& WithPositioning(Positioning&& value) { SetPositioning(std::move(value)); return *this;} /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline const Aws::Vector& GetApplications() const{ return m_applications; } /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; } /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline void SetApplications(const Aws::Vector& value) { m_applicationsHasBeenSet = true; m_applications = value; } /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline void SetApplications(Aws::Vector&& value) { m_applicationsHasBeenSet = true; m_applications = std::move(value); } /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline FPorts& WithApplications(const Aws::Vector& value) { SetApplications(value); return *this;} /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline FPorts& WithApplications(Aws::Vector&& value) { SetApplications(std::move(value)); return *this;} /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline FPorts& AddApplications(const ApplicationConfig& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; } /** *

Optional LoRaWAN application information, which can be used for * geolocation.

*/ inline FPorts& AddApplications(ApplicationConfig&& value) { m_applicationsHasBeenSet = true; m_applications.push_back(std::move(value)); return *this; } private: int m_fuota; bool m_fuotaHasBeenSet = false; int m_multicast; bool m_multicastHasBeenSet = false; int m_clockSync; bool m_clockSyncHasBeenSet = false; Positioning m_positioning; bool m_positioningHasBeenSet = false; Aws::Vector m_applications; bool m_applicationsHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws