/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.geo.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Updates the specified properties of a given tracker resource. *
*/ public class UpdateTrackerRequest extends AmazonWebServiceRequest implements Serializable { /** ** Updates the description for the tracker resource. *
*
* Constraints:
* Length: 0 - 1000
*/
private String description;
/**
*
* 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.
*
* Constraints:
* Allowed Values: TimeBased, DistanceBased, AccuracyBased
*/
private String positionFiltering;
/**
*
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* Constraints:
* Allowed Values: RequestBasedUsage, MobileAssetTracking,
* MobileAssetManagement
*/
private String pricingPlan;
/**
*
* This parameter is no longer used. *
*/ private String pricingPlanDataSource; /** ** The name of the tracker resource to update. *
*
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*/
private String trackerName;
/**
*
* Updates the description for the tracker resource. *
*
* Constraints:
* Length: 0 - 1000
*
* @return
* Updates the description for the tracker resource. *
*/ public String getDescription() { return description; } /** ** Updates the description for the tracker resource. *
*
* Constraints:
* Length: 0 - 1000
*
* @param description
* Updates the description for the tracker resource. *
*/ public void setDescription(String description) { this.description = description; } /** ** Updates the description for the tracker resource. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 0 - 1000
*
* @param description
* Updates the description for the tracker resource. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateTrackerRequest withDescription(String description) { this.description = description; 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.
*
* Constraints:
* Allowed Values: TimeBased, DistanceBased, AccuracyBased
*
* @return
* 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.
*
* 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.
*
* Constraints:
* Allowed Values: TimeBased, DistanceBased, AccuracyBased
*
* @param 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: TimeBased, DistanceBased, AccuracyBased
*
* @param 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.
*
* 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.
*
* Constraints:
* Allowed Values: TimeBased, DistanceBased, AccuracyBased
*
* @param 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: TimeBased, DistanceBased, AccuracyBased
*
* @param 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.
*
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* Constraints:
* Allowed Values: RequestBasedUsage, MobileAssetTracking,
* MobileAssetManagement
*
* @return
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* Constraints:
* Allowed Values: RequestBasedUsage, MobileAssetTracking,
* MobileAssetManagement
*
* @param pricingPlan
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: RequestBasedUsage, MobileAssetTracking,
* MobileAssetManagement
*
* @param pricingPlan
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* Constraints:
* Allowed Values: RequestBasedUsage, MobileAssetTracking,
* MobileAssetManagement
*
* @param pricingPlan
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: RequestBasedUsage, MobileAssetTracking,
* MobileAssetManagement
*
* @param pricingPlan
* No longer used. If included, the only allowed value is
* RequestBasedUsage
.
*
* This parameter is no longer used. *
* * @return* This parameter is no longer used. *
*/ public String getPricingPlanDataSource() { return pricingPlanDataSource; } /** ** This parameter is no longer used. *
* * @param pricingPlanDataSource* This parameter is no longer used. *
*/ public void setPricingPlanDataSource(String pricingPlanDataSource) { this.pricingPlanDataSource = pricingPlanDataSource; } /** ** This parameter is no longer used. *
** Returns a reference to this object so that method calls can be chained * together. * * @param pricingPlanDataSource
* This parameter is no longer used. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateTrackerRequest withPricingPlanDataSource(String pricingPlanDataSource) { this.pricingPlanDataSource = pricingPlanDataSource; return this; } /** ** The name of the tracker resource to update. *
*
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*
* @return
* The name of the tracker resource to update. *
*/ public String getTrackerName() { return trackerName; } /** ** The name of the tracker resource to update. *
*
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*
* @param trackerName
* The name of the tracker resource to update. *
*/ public void setTrackerName(String trackerName) { this.trackerName = trackerName; } /** ** The name of the tracker resource to update. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*
* @param trackerName
* The name of the tracker resource to update. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateTrackerRequest withTrackerName(String trackerName) { this.trackerName = trackerName; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDescription() != null) sb.append("Description: " + getDescription() + ","); if (getPositionFiltering() != null) sb.append("PositionFiltering: " + getPositionFiltering() + ","); if (getPricingPlan() != null) sb.append("PricingPlan: " + getPricingPlan() + ","); if (getPricingPlanDataSource() != null) sb.append("PricingPlanDataSource: " + getPricingPlanDataSource() + ","); if (getTrackerName() != null) sb.append("TrackerName: " + getTrackerName()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getPositionFiltering() == null) ? 0 : getPositionFiltering().hashCode()); hashCode = prime * hashCode + ((getPricingPlan() == null) ? 0 : getPricingPlan().hashCode()); hashCode = prime * hashCode + ((getPricingPlanDataSource() == null) ? 0 : getPricingPlanDataSource().hashCode()); hashCode = prime * hashCode + ((getTrackerName() == null) ? 0 : getTrackerName().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateTrackerRequest == false) return false; UpdateTrackerRequest other = (UpdateTrackerRequest) obj; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getPositionFiltering() == null ^ this.getPositionFiltering() == null) return false; if (other.getPositionFiltering() != null && other.getPositionFiltering().equals(this.getPositionFiltering()) == false) return false; if (other.getPricingPlan() == null ^ this.getPricingPlan() == null) return false; if (other.getPricingPlan() != null && other.getPricingPlan().equals(this.getPricingPlan()) == false) return false; if (other.getPricingPlanDataSource() == null ^ this.getPricingPlanDataSource() == null) return false; if (other.getPricingPlanDataSource() != null && other.getPricingPlanDataSource().equals(this.getPricingPlanDataSource()) == false) return false; if (other.getTrackerName() == null ^ this.getTrackerName() == null) return false; if (other.getTrackerName() != null && other.getTrackerName().equals(this.getTrackerName()) == false) return false; return true; } }