/** * 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 #include #include namespace Aws { namespace IoTWireless { namespace Model { /** */ class GetPositionEstimateRequest : public IoTWirelessRequest { public: AWS_IOTWIRELESS_API GetPositionEstimateRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetPositionEstimate"; } AWS_IOTWIRELESS_API Aws::String SerializePayload() const override; /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline const Aws::Vector& GetWiFiAccessPoints() const{ return m_wiFiAccessPoints; } /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline bool WiFiAccessPointsHasBeenSet() const { return m_wiFiAccessPointsHasBeenSet; } /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline void SetWiFiAccessPoints(const Aws::Vector& value) { m_wiFiAccessPointsHasBeenSet = true; m_wiFiAccessPoints = value; } /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline void SetWiFiAccessPoints(Aws::Vector&& value) { m_wiFiAccessPointsHasBeenSet = true; m_wiFiAccessPoints = std::move(value); } /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline GetPositionEstimateRequest& WithWiFiAccessPoints(const Aws::Vector& value) { SetWiFiAccessPoints(value); return *this;} /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline GetPositionEstimateRequest& WithWiFiAccessPoints(Aws::Vector&& value) { SetWiFiAccessPoints(std::move(value)); return *this;} /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline GetPositionEstimateRequest& AddWiFiAccessPoints(const WiFiAccessPoint& value) { m_wiFiAccessPointsHasBeenSet = true; m_wiFiAccessPoints.push_back(value); return *this; } /** *

Retrieves an estimated device position by resolving WLAN measurement data. * The position is resolved using HERE's Wi-Fi based solver.

*/ inline GetPositionEstimateRequest& AddWiFiAccessPoints(WiFiAccessPoint&& value) { m_wiFiAccessPointsHasBeenSet = true; m_wiFiAccessPoints.push_back(std::move(value)); return *this; } /** *

Retrieves an estimated device position by resolving measurement data from * cellular radio towers. The position is resolved using HERE's cellular-based * solver.

*/ inline const CellTowers& GetCellTowers() const{ return m_cellTowers; } /** *

Retrieves an estimated device position by resolving measurement data from * cellular radio towers. The position is resolved using HERE's cellular-based * solver.

*/ inline bool CellTowersHasBeenSet() const { return m_cellTowersHasBeenSet; } /** *

Retrieves an estimated device position by resolving measurement data from * cellular radio towers. The position is resolved using HERE's cellular-based * solver.

*/ inline void SetCellTowers(const CellTowers& value) { m_cellTowersHasBeenSet = true; m_cellTowers = value; } /** *

Retrieves an estimated device position by resolving measurement data from * cellular radio towers. The position is resolved using HERE's cellular-based * solver.

*/ inline void SetCellTowers(CellTowers&& value) { m_cellTowersHasBeenSet = true; m_cellTowers = std::move(value); } /** *

Retrieves an estimated device position by resolving measurement data from * cellular radio towers. The position is resolved using HERE's cellular-based * solver.

*/ inline GetPositionEstimateRequest& WithCellTowers(const CellTowers& value) { SetCellTowers(value); return *this;} /** *

Retrieves an estimated device position by resolving measurement data from * cellular radio towers. The position is resolved using HERE's cellular-based * solver.

*/ inline GetPositionEstimateRequest& WithCellTowers(CellTowers&& value) { SetCellTowers(std::move(value)); return *this;} /** *

Retrieves an estimated device position by resolving the IP address * information from the device. The position is resolved using MaxMind's IP-based * solver.

*/ inline const Ip& GetIp() const{ return m_ip; } /** *

Retrieves an estimated device position by resolving the IP address * information from the device. The position is resolved using MaxMind's IP-based * solver.

*/ inline bool IpHasBeenSet() const { return m_ipHasBeenSet; } /** *

Retrieves an estimated device position by resolving the IP address * information from the device. The position is resolved using MaxMind's IP-based * solver.

*/ inline void SetIp(const Ip& value) { m_ipHasBeenSet = true; m_ip = value; } /** *

Retrieves an estimated device position by resolving the IP address * information from the device. The position is resolved using MaxMind's IP-based * solver.

*/ inline void SetIp(Ip&& value) { m_ipHasBeenSet = true; m_ip = std::move(value); } /** *

Retrieves an estimated device position by resolving the IP address * information from the device. The position is resolved using MaxMind's IP-based * solver.

*/ inline GetPositionEstimateRequest& WithIp(const Ip& value) { SetIp(value); return *this;} /** *

Retrieves an estimated device position by resolving the IP address * information from the device. The position is resolved using MaxMind's IP-based * solver.

*/ inline GetPositionEstimateRequest& WithIp(Ip&& value) { SetIp(std::move(value)); return *this;} /** *

Retrieves an estimated device position by resolving the global navigation * satellite system (GNSS) scan data. The position is resolved using the GNSS * solver powered by LoRa Cloud.

*/ inline const Gnss& GetGnss() const{ return m_gnss; } /** *

Retrieves an estimated device position by resolving the global navigation * satellite system (GNSS) scan data. The position is resolved using the GNSS * solver powered by LoRa Cloud.

*/ inline bool GnssHasBeenSet() const { return m_gnssHasBeenSet; } /** *

Retrieves an estimated device position by resolving the global navigation * satellite system (GNSS) scan data. The position is resolved using the GNSS * solver powered by LoRa Cloud.

*/ inline void SetGnss(const Gnss& value) { m_gnssHasBeenSet = true; m_gnss = value; } /** *

Retrieves an estimated device position by resolving the global navigation * satellite system (GNSS) scan data. The position is resolved using the GNSS * solver powered by LoRa Cloud.

*/ inline void SetGnss(Gnss&& value) { m_gnssHasBeenSet = true; m_gnss = std::move(value); } /** *

Retrieves an estimated device position by resolving the global navigation * satellite system (GNSS) scan data. The position is resolved using the GNSS * solver powered by LoRa Cloud.

*/ inline GetPositionEstimateRequest& WithGnss(const Gnss& value) { SetGnss(value); return *this;} /** *

Retrieves an estimated device position by resolving the global navigation * satellite system (GNSS) scan data. The position is resolved using the GNSS * solver powered by LoRa Cloud.

*/ inline GetPositionEstimateRequest& WithGnss(Gnss&& value) { SetGnss(std::move(value)); return *this;} /** *

Optional information that specifies the time when the position information * will be resolved. It uses the Unix timestamp format. If not specified, the time * at which the request was received will be used.

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

Optional information that specifies the time when the position information * will be resolved. It uses the Unix timestamp format. If not specified, the time * at which the request was received will be used.

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

Optional information that specifies the time when the position information * will be resolved. It uses the Unix timestamp format. If not specified, the time * at which the request was received will be used.

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

Optional information that specifies the time when the position information * will be resolved. It uses the Unix timestamp format. If not specified, the time * at which the request was received will be used.

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

Optional information that specifies the time when the position information * will be resolved. It uses the Unix timestamp format. If not specified, the time * at which the request was received will be used.

*/ inline GetPositionEstimateRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

Optional information that specifies the time when the position information * will be resolved. It uses the Unix timestamp format. If not specified, the time * at which the request was received will be used.

*/ inline GetPositionEstimateRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} private: Aws::Vector m_wiFiAccessPoints; bool m_wiFiAccessPointsHasBeenSet = false; CellTowers m_cellTowers; bool m_cellTowersHasBeenSet = false; Ip m_ip; bool m_ipHasBeenSet = false; Gnss m_gnss; bool m_gnssHasBeenSet = false; Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws