/* * 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; /** *
* Creates an association between a geofence collection and a tracker resource. * This allows the tracker resource to communicate location data to the linked * geofence collection. *
** You can associate up to five geofence collections to each tracker resource. *
** Currently not supported — Cross-account configurations, such as creating * associations between a tracker resource in one account and a geofence * collection in another account. *
** The Amazon Resource Name (ARN) for the geofence collection to be * associated to tracker resource. Used when you need to specify a resource * across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* Constraints:
* Length: 0 - 1600
* Pattern:
* ^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-
* 9]+)*)?){2}:([^/].*)?$
*/
private String consumerArn;
/**
*
* The name of the tracker resource to be associated with a geofence * collection. *
*
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*/
private String trackerName;
/**
*
* The Amazon Resource Name (ARN) for the geofence collection to be * associated to tracker resource. Used when you need to specify a resource * across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* Constraints:
* Length: 0 - 1600
* Pattern:
* ^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-
* 9]+)*)?){2}:([^/].*)?$
*
* @return
* The Amazon Resource Name (ARN) for the geofence collection to be * associated to tracker resource. Used when you need to specify a * resource across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* The Amazon Resource Name (ARN) for the geofence collection to be * associated to tracker resource. Used when you need to specify a resource * across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* Constraints:
* Length: 0 - 1600
* Pattern:
* ^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-
* 9]+)*)?){2}:([^/].*)?$
*
* @param consumerArn
* The Amazon Resource Name (ARN) for the geofence collection to * be associated to tracker resource. Used when you need to * specify a resource across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* The Amazon Resource Name (ARN) for the geofence collection to be * associated to tracker resource. Used when you need to specify a resource * across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 0 - 1600
* Pattern:
* ^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-
* 9]+)*)?){2}:([^/].*)?$
*
* @param consumerArn
* The Amazon Resource Name (ARN) for the geofence collection to * be associated to tracker resource. Used when you need to * specify a resource across all Amazon Web Services. *
*
* Format example:
* arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
*
* The name of the tracker resource to be associated with a geofence * collection. *
*
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*
* @return
* The name of the tracker resource to be associated with a geofence * collection. *
*/ public String getTrackerName() { return trackerName; } /** ** The name of the tracker resource to be associated with a geofence * collection. *
*
* Constraints:
* Length: 1 - 100
* Pattern: ^[-._\w]+$
*
* @param trackerName
* The name of the tracker resource to be associated with a * geofence collection. *
*/ public void setTrackerName(String trackerName) { this.trackerName = trackerName; } /** ** The name of the tracker resource to be associated with a geofence * collection. *
** 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 be associated with a * geofence collection. *
* @return A reference to this updated object so that method calls can be * chained together. */ public AssociateTrackerConsumerRequest 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 (getConsumerArn() != null) sb.append("ConsumerArn: " + getConsumerArn() + ","); 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 + ((getConsumerArn() == null) ? 0 : getConsumerArn().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 AssociateTrackerConsumerRequest == false) return false; AssociateTrackerConsumerRequest other = (AssociateTrackerConsumerRequest) obj; if (other.getConsumerArn() == null ^ this.getConsumerArn() == null) return false; if (other.getConsumerArn() != null && other.getConsumerArn().equals(this.getConsumerArn()) == 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; } }