/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LocationService { namespace Model { /** *

Contains the device position details.

See Also:

AWS * API Reference

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

The accuracy of the device position.

*/ inline const PositionalAccuracy& GetAccuracy() const{ return m_accuracy; } /** *

The accuracy of the device position.

*/ inline bool AccuracyHasBeenSet() const { return m_accuracyHasBeenSet; } /** *

The accuracy of the device position.

*/ inline void SetAccuracy(const PositionalAccuracy& value) { m_accuracyHasBeenSet = true; m_accuracy = value; } /** *

The accuracy of the device position.

*/ inline void SetAccuracy(PositionalAccuracy&& value) { m_accuracyHasBeenSet = true; m_accuracy = std::move(value); } /** *

The accuracy of the device position.

*/ inline DevicePosition& WithAccuracy(const PositionalAccuracy& value) { SetAccuracy(value); return *this;} /** *

The accuracy of the device position.

*/ inline DevicePosition& WithAccuracy(PositionalAccuracy&& value) { SetAccuracy(std::move(value)); return *this;} /** *

The device whose position you retrieved.

*/ inline const Aws::String& GetDeviceId() const{ return m_deviceId; } /** *

The device whose position you retrieved.

*/ inline bool DeviceIdHasBeenSet() const { return m_deviceIdHasBeenSet; } /** *

The device whose position you retrieved.

*/ inline void SetDeviceId(const Aws::String& value) { m_deviceIdHasBeenSet = true; m_deviceId = value; } /** *

The device whose position you retrieved.

*/ inline void SetDeviceId(Aws::String&& value) { m_deviceIdHasBeenSet = true; m_deviceId = std::move(value); } /** *

The device whose position you retrieved.

*/ inline void SetDeviceId(const char* value) { m_deviceIdHasBeenSet = true; m_deviceId.assign(value); } /** *

The device whose position you retrieved.

*/ inline DevicePosition& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;} /** *

The device whose position you retrieved.

*/ inline DevicePosition& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;} /** *

The device whose position you retrieved.

*/ inline DevicePosition& WithDeviceId(const char* value) { SetDeviceId(value); return *this;} /** *

The last known device position.

*/ inline const Aws::Vector& GetPosition() const{ return m_position; } /** *

The last known device position.

*/ inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } /** *

The last known device position.

*/ inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } /** *

The last known device position.

*/ inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } /** *

The last known device position.

*/ inline DevicePosition& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} /** *

The last known device position.

*/ inline DevicePosition& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} /** *

The last known device position.

*/ inline DevicePosition& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } /** *

The properties associated with the position.

*/ inline const Aws::Map& GetPositionProperties() const{ return m_positionProperties; } /** *

The properties associated with the position.

*/ inline bool PositionPropertiesHasBeenSet() const { return m_positionPropertiesHasBeenSet; } /** *

The properties associated with the position.

*/ inline void SetPositionProperties(const Aws::Map& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties = value; } /** *

The properties associated with the position.

*/ inline void SetPositionProperties(Aws::Map&& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties = std::move(value); } /** *

The properties associated with the position.

*/ inline DevicePosition& WithPositionProperties(const Aws::Map& value) { SetPositionProperties(value); return *this;} /** *

The properties associated with the position.

*/ inline DevicePosition& WithPositionProperties(Aws::Map&& value) { SetPositionProperties(std::move(value)); return *this;} /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(const Aws::String& key, const Aws::String& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(key, value); return *this; } /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(Aws::String&& key, const Aws::String& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(std::move(key), value); return *this; } /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(const Aws::String& key, Aws::String&& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(key, std::move(value)); return *this; } /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(Aws::String&& key, Aws::String&& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(std::move(key), std::move(value)); return *this; } /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(const char* key, Aws::String&& value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(key, std::move(value)); return *this; } /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(Aws::String&& key, const char* value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(std::move(key), value); return *this; } /** *

The properties associated with the position.

*/ inline DevicePosition& AddPositionProperties(const char* key, const char* value) { m_positionPropertiesHasBeenSet = true; m_positionProperties.emplace(key, value); return *this; } /** *

The timestamp for when the tracker resource received the device position in * ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline const Aws::Utils::DateTime& GetReceivedTime() const{ return m_receivedTime; } /** *

The timestamp for when the tracker resource received the device position in * ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline bool ReceivedTimeHasBeenSet() const { return m_receivedTimeHasBeenSet; } /** *

The timestamp for when the tracker resource received the device position in * ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline void SetReceivedTime(const Aws::Utils::DateTime& value) { m_receivedTimeHasBeenSet = true; m_receivedTime = value; } /** *

The timestamp for when the tracker resource received the device position in * ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline void SetReceivedTime(Aws::Utils::DateTime&& value) { m_receivedTimeHasBeenSet = true; m_receivedTime = std::move(value); } /** *

The timestamp for when the tracker resource received the device position in * ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline DevicePosition& WithReceivedTime(const Aws::Utils::DateTime& value) { SetReceivedTime(value); return *this;} /** *

The timestamp for when the tracker resource received the device position in * ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline DevicePosition& WithReceivedTime(Aws::Utils::DateTime&& value) { SetReceivedTime(std::move(value)); return *this;} /** *

The timestamp at which the device's position was determined. Uses ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline const Aws::Utils::DateTime& GetSampleTime() const{ return m_sampleTime; } /** *

The timestamp at which the device's position was determined. Uses ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline bool SampleTimeHasBeenSet() const { return m_sampleTimeHasBeenSet; } /** *

The timestamp at which the device's position was determined. Uses ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline void SetSampleTime(const Aws::Utils::DateTime& value) { m_sampleTimeHasBeenSet = true; m_sampleTime = value; } /** *

The timestamp at which the device's position was determined. Uses ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline void SetSampleTime(Aws::Utils::DateTime&& value) { m_sampleTimeHasBeenSet = true; m_sampleTime = std::move(value); } /** *

The timestamp at which the device's position was determined. Uses ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline DevicePosition& WithSampleTime(const Aws::Utils::DateTime& value) { SetSampleTime(value); return *this;} /** *

The timestamp at which the device's position was determined. Uses ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ inline DevicePosition& WithSampleTime(Aws::Utils::DateTime&& value) { SetSampleTime(std::move(value)); return *this;} private: PositionalAccuracy m_accuracy; bool m_accuracyHasBeenSet = false; Aws::String m_deviceId; bool m_deviceIdHasBeenSet = false; Aws::Vector m_position; bool m_positionHasBeenSet = false; Aws::Map m_positionProperties; bool m_positionPropertiesHasBeenSet = false; Aws::Utils::DateTime m_receivedTime; bool m_receivedTimeHasBeenSet = false; Aws::Utils::DateTime m_sampleTime; bool m_sampleTimeHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws