/** * 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 LocationService { namespace Model { /** */ class UpdateTrackerRequest : public LocationServiceRequest { public: AWS_LOCATIONSERVICE_API UpdateTrackerRequest(); // 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 "UpdateTracker"; } AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override; /** *

Updates the description for the tracker resource.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Updates the description for the tracker resource.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Updates the description for the tracker resource.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Updates the description for the tracker resource.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Updates the description for the tracker resource.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Updates the description for the tracker resource.

*/ inline UpdateTrackerRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Updates the description for the tracker resource.

*/ inline UpdateTrackerRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Updates the description for the tracker resource.

*/ inline UpdateTrackerRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Whether to enable position UPDATE events from this tracker to be * sent to EventBridge.

You do not need enable this feature to get * ENTER and EXIT events for geofences with this tracker. * Those events are always sent to EventBridge.

*/ inline bool GetEventBridgeEnabled() const{ return m_eventBridgeEnabled; } /** *

Whether to enable position UPDATE events from this tracker to be * sent to EventBridge.

You do not need enable this feature to get * ENTER and EXIT events for geofences with this tracker. * Those events are always sent to EventBridge.

*/ inline bool EventBridgeEnabledHasBeenSet() const { return m_eventBridgeEnabledHasBeenSet; } /** *

Whether to enable position UPDATE events from this tracker to be * sent to EventBridge.

You do not need enable this feature to get * ENTER and EXIT events for geofences with this tracker. * Those events are always sent to EventBridge.

*/ inline void SetEventBridgeEnabled(bool value) { m_eventBridgeEnabledHasBeenSet = true; m_eventBridgeEnabled = value; } /** *

Whether to enable position UPDATE events from this tracker to be * sent to EventBridge.

You do not need enable this feature to get * ENTER and EXIT events for geofences with this tracker. * Those events are always sent to EventBridge.

*/ inline UpdateTrackerRequest& WithEventBridgeEnabled(bool value) { SetEventBridgeEnabled(value); return *this;} /** *

Updates the position filtering for the tracker resource.

Valid * values:

  • TimeBased - Location updates are * evaluated against linked geofence collections, but not every location update is * stored. If your update frequency is more often than 30 seconds, only one update * per 30 seconds is stored for each unique device ID.

  • * DistanceBased - If the device has moved less than 30 m (98.4 ft), * location updates are ignored. Location updates within this distance are neither * evaluated against linked geofence collections, nor stored. This helps control * costs by reducing the number of geofence evaluations and historical device * positions to paginate through. Distance-based filtering can also reduce the * effects of GPS noise when displaying device trajectories on a map.

  • *
  • AccuracyBased - If the device has moved less than the * measured accuracy, location updates are ignored. For example, if two consecutive * updates from a device have a horizontal accuracy of 5 m and 10 m, the second * update is ignored if the device has moved less than 15 m. Ignored location * updates are neither evaluated against linked geofence collections, nor stored. * This helps educe the effects of GPS noise when displaying device trajectories on * a map, and can help control costs by reducing the number of geofence * evaluations.

*/ inline const PositionFiltering& GetPositionFiltering() const{ return m_positionFiltering; } /** *

Updates the position filtering for the tracker resource.

Valid * values:

  • TimeBased - Location updates are * evaluated against linked geofence collections, but not every location update is * stored. If your update frequency is more often than 30 seconds, only one update * per 30 seconds is stored for each unique device ID.

  • * DistanceBased - If the device has moved less than 30 m (98.4 ft), * location updates are ignored. Location updates within this distance are neither * evaluated against linked geofence collections, nor stored. This helps control * costs by reducing the number of geofence evaluations and historical device * positions to paginate through. Distance-based filtering can also reduce the * effects of GPS noise when displaying device trajectories on a map.

  • *
  • AccuracyBased - If the device has moved less than the * measured accuracy, location updates are ignored. For example, if two consecutive * updates from a device have a horizontal accuracy of 5 m and 10 m, the second * update is ignored if the device has moved less than 15 m. Ignored location * updates are neither evaluated against linked geofence collections, nor stored. * This helps educe the effects of GPS noise when displaying device trajectories on * a map, and can help control costs by reducing the number of geofence * evaluations.

*/ inline bool PositionFilteringHasBeenSet() const { return m_positionFilteringHasBeenSet; } /** *

Updates the position filtering for the tracker resource.

Valid * values:

  • TimeBased - Location updates are * evaluated against linked geofence collections, but not every location update is * stored. If your update frequency is more often than 30 seconds, only one update * per 30 seconds is stored for each unique device ID.

  • * DistanceBased - If the device has moved less than 30 m (98.4 ft), * location updates are ignored. Location updates within this distance are neither * evaluated against linked geofence collections, nor stored. This helps control * costs by reducing the number of geofence evaluations and historical device * positions to paginate through. Distance-based filtering can also reduce the * effects of GPS noise when displaying device trajectories on a map.

  • *
  • AccuracyBased - If the device has moved less than the * measured accuracy, location updates are ignored. For example, if two consecutive * updates from a device have a horizontal accuracy of 5 m and 10 m, the second * update is ignored if the device has moved less than 15 m. Ignored location * updates are neither evaluated against linked geofence collections, nor stored. * This helps educe the effects of GPS noise when displaying device trajectories on * a map, and can help control costs by reducing the number of geofence * evaluations.

*/ inline void SetPositionFiltering(const PositionFiltering& value) { m_positionFilteringHasBeenSet = true; m_positionFiltering = value; } /** *

Updates the position filtering for the tracker resource.

Valid * values:

  • TimeBased - Location updates are * evaluated against linked geofence collections, but not every location update is * stored. If your update frequency is more often than 30 seconds, only one update * per 30 seconds is stored for each unique device ID.

  • * DistanceBased - If the device has moved less than 30 m (98.4 ft), * location updates are ignored. Location updates within this distance are neither * evaluated against linked geofence collections, nor stored. This helps control * costs by reducing the number of geofence evaluations and historical device * positions to paginate through. Distance-based filtering can also reduce the * effects of GPS noise when displaying device trajectories on a map.

  • *
  • AccuracyBased - If the device has moved less than the * measured accuracy, location updates are ignored. For example, if two consecutive * updates from a device have a horizontal accuracy of 5 m and 10 m, the second * update is ignored if the device has moved less than 15 m. Ignored location * updates are neither evaluated against linked geofence collections, nor stored. * This helps educe the effects of GPS noise when displaying device trajectories on * a map, and can help control costs by reducing the number of geofence * evaluations.

*/ inline void SetPositionFiltering(PositionFiltering&& value) { m_positionFilteringHasBeenSet = true; m_positionFiltering = std::move(value); } /** *

Updates the position filtering for the tracker resource.

Valid * values:

  • TimeBased - Location updates are * evaluated against linked geofence collections, but not every location update is * stored. If your update frequency is more often than 30 seconds, only one update * per 30 seconds is stored for each unique device ID.

  • * DistanceBased - If the device has moved less than 30 m (98.4 ft), * location updates are ignored. Location updates within this distance are neither * evaluated against linked geofence collections, nor stored. This helps control * costs by reducing the number of geofence evaluations and historical device * positions to paginate through. Distance-based filtering can also reduce the * effects of GPS noise when displaying device trajectories on a map.

  • *
  • AccuracyBased - If the device has moved less than the * measured accuracy, location updates are ignored. For example, if two consecutive * updates from a device have a horizontal accuracy of 5 m and 10 m, the second * update is ignored if the device has moved less than 15 m. Ignored location * updates are neither evaluated against linked geofence collections, nor stored. * This helps educe the effects of GPS noise when displaying device trajectories on * a map, and can help control costs by reducing the number of geofence * evaluations.

*/ inline UpdateTrackerRequest& WithPositionFiltering(const PositionFiltering& value) { SetPositionFiltering(value); return *this;} /** *

Updates the position filtering for the tracker resource.

Valid * values:

  • TimeBased - Location updates are * evaluated against linked geofence collections, but not every location update is * stored. If your update frequency is more often than 30 seconds, only one update * per 30 seconds is stored for each unique device ID.

  • * DistanceBased - If the device has moved less than 30 m (98.4 ft), * location updates are ignored. Location updates within this distance are neither * evaluated against linked geofence collections, nor stored. This helps control * costs by reducing the number of geofence evaluations and historical device * positions to paginate through. Distance-based filtering can also reduce the * effects of GPS noise when displaying device trajectories on a map.

  • *
  • AccuracyBased - If the device has moved less than the * measured accuracy, location updates are ignored. For example, if two consecutive * updates from a device have a horizontal accuracy of 5 m and 10 m, the second * update is ignored if the device has moved less than 15 m. Ignored location * updates are neither evaluated against linked geofence collections, nor stored. * This helps educe the effects of GPS noise when displaying device trajectories on * a map, and can help control costs by reducing the number of geofence * evaluations.

*/ inline UpdateTrackerRequest& WithPositionFiltering(PositionFiltering&& value) { SetPositionFiltering(std::move(value)); return *this;} /** *

The name of the tracker resource to update.

*/ inline const Aws::String& GetTrackerName() const{ return m_trackerName; } /** *

The name of the tracker resource to update.

*/ inline bool TrackerNameHasBeenSet() const { return m_trackerNameHasBeenSet; } /** *

The name of the tracker resource to update.

*/ inline void SetTrackerName(const Aws::String& value) { m_trackerNameHasBeenSet = true; m_trackerName = value; } /** *

The name of the tracker resource to update.

*/ inline void SetTrackerName(Aws::String&& value) { m_trackerNameHasBeenSet = true; m_trackerName = std::move(value); } /** *

The name of the tracker resource to update.

*/ inline void SetTrackerName(const char* value) { m_trackerNameHasBeenSet = true; m_trackerName.assign(value); } /** *

The name of the tracker resource to update.

*/ inline UpdateTrackerRequest& WithTrackerName(const Aws::String& value) { SetTrackerName(value); return *this;} /** *

The name of the tracker resource to update.

*/ inline UpdateTrackerRequest& WithTrackerName(Aws::String&& value) { SetTrackerName(std::move(value)); return *this;} /** *

The name of the tracker resource to update.

*/ inline UpdateTrackerRequest& WithTrackerName(const char* value) { SetTrackerName(value); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_eventBridgeEnabled; bool m_eventBridgeEnabledHasBeenSet = false; PositionFiltering m_positionFiltering; bool m_positionFilteringHasBeenSet = false; Aws::String m_trackerName; bool m_trackerNameHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws