1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/location/LocationService_EXPORTS.h>
8 #include <aws/location/LocationServiceRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace LocationService
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_LOCATIONSERVICE_API AssociateTrackerConsumerRequest : public LocationServiceRequest
22   {
23   public:
24     AssociateTrackerConsumerRequest();
25 
26     // Service request name is the Operation name which will send this request out,
27     // each operation should has unique request name, so that we can get operation's name from this request.
28     // Note: this is not true for response, multiple operations may have the same response name,
29     // so we can not get operation's name from response.
GetServiceRequestName()30     inline virtual const char* GetServiceRequestName() const override { return "AssociateTrackerConsumer"; }
31 
32     Aws::String SerializePayload() const override;
33 
34 
35     /**
36      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
37      * to tracker resource. Used when you need to specify a resource across all
38      * AWS.</p> <ul> <li> <p>Format example:
39      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
40      * </p> </li> </ul>
41      */
GetConsumerArn()42     inline const Aws::String& GetConsumerArn() const{ return m_consumerArn; }
43 
44     /**
45      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
46      * to tracker resource. Used when you need to specify a resource across all
47      * AWS.</p> <ul> <li> <p>Format example:
48      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
49      * </p> </li> </ul>
50      */
ConsumerArnHasBeenSet()51     inline bool ConsumerArnHasBeenSet() const { return m_consumerArnHasBeenSet; }
52 
53     /**
54      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
55      * to tracker resource. Used when you need to specify a resource across all
56      * AWS.</p> <ul> <li> <p>Format example:
57      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
58      * </p> </li> </ul>
59      */
SetConsumerArn(const Aws::String & value)60     inline void SetConsumerArn(const Aws::String& value) { m_consumerArnHasBeenSet = true; m_consumerArn = value; }
61 
62     /**
63      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
64      * to tracker resource. Used when you need to specify a resource across all
65      * AWS.</p> <ul> <li> <p>Format example:
66      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
67      * </p> </li> </ul>
68      */
SetConsumerArn(Aws::String && value)69     inline void SetConsumerArn(Aws::String&& value) { m_consumerArnHasBeenSet = true; m_consumerArn = std::move(value); }
70 
71     /**
72      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
73      * to tracker resource. Used when you need to specify a resource across all
74      * AWS.</p> <ul> <li> <p>Format example:
75      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
76      * </p> </li> </ul>
77      */
SetConsumerArn(const char * value)78     inline void SetConsumerArn(const char* value) { m_consumerArnHasBeenSet = true; m_consumerArn.assign(value); }
79 
80     /**
81      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
82      * to tracker resource. Used when you need to specify a resource across all
83      * AWS.</p> <ul> <li> <p>Format example:
84      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
85      * </p> </li> </ul>
86      */
WithConsumerArn(const Aws::String & value)87     inline AssociateTrackerConsumerRequest& WithConsumerArn(const Aws::String& value) { SetConsumerArn(value); return *this;}
88 
89     /**
90      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
91      * to tracker resource. Used when you need to specify a resource across all
92      * AWS.</p> <ul> <li> <p>Format example:
93      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
94      * </p> </li> </ul>
95      */
WithConsumerArn(Aws::String && value)96     inline AssociateTrackerConsumerRequest& WithConsumerArn(Aws::String&& value) { SetConsumerArn(std::move(value)); return *this;}
97 
98     /**
99      * <p>The Amazon Resource Name (ARN) for the geofence collection to be associated
100      * to tracker resource. Used when you need to specify a resource across all
101      * AWS.</p> <ul> <li> <p>Format example:
102      * <code>arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer</code>
103      * </p> </li> </ul>
104      */
WithConsumerArn(const char * value)105     inline AssociateTrackerConsumerRequest& WithConsumerArn(const char* value) { SetConsumerArn(value); return *this;}
106 
107 
108     /**
109      * <p>The name of the tracker resource to be associated with a geofence
110      * collection.</p>
111      */
GetTrackerName()112     inline const Aws::String& GetTrackerName() const{ return m_trackerName; }
113 
114     /**
115      * <p>The name of the tracker resource to be associated with a geofence
116      * collection.</p>
117      */
TrackerNameHasBeenSet()118     inline bool TrackerNameHasBeenSet() const { return m_trackerNameHasBeenSet; }
119 
120     /**
121      * <p>The name of the tracker resource to be associated with a geofence
122      * collection.</p>
123      */
SetTrackerName(const Aws::String & value)124     inline void SetTrackerName(const Aws::String& value) { m_trackerNameHasBeenSet = true; m_trackerName = value; }
125 
126     /**
127      * <p>The name of the tracker resource to be associated with a geofence
128      * collection.</p>
129      */
SetTrackerName(Aws::String && value)130     inline void SetTrackerName(Aws::String&& value) { m_trackerNameHasBeenSet = true; m_trackerName = std::move(value); }
131 
132     /**
133      * <p>The name of the tracker resource to be associated with a geofence
134      * collection.</p>
135      */
SetTrackerName(const char * value)136     inline void SetTrackerName(const char* value) { m_trackerNameHasBeenSet = true; m_trackerName.assign(value); }
137 
138     /**
139      * <p>The name of the tracker resource to be associated with a geofence
140      * collection.</p>
141      */
WithTrackerName(const Aws::String & value)142     inline AssociateTrackerConsumerRequest& WithTrackerName(const Aws::String& value) { SetTrackerName(value); return *this;}
143 
144     /**
145      * <p>The name of the tracker resource to be associated with a geofence
146      * collection.</p>
147      */
WithTrackerName(Aws::String && value)148     inline AssociateTrackerConsumerRequest& WithTrackerName(Aws::String&& value) { SetTrackerName(std::move(value)); return *this;}
149 
150     /**
151      * <p>The name of the tracker resource to be associated with a geofence
152      * collection.</p>
153      */
WithTrackerName(const char * value)154     inline AssociateTrackerConsumerRequest& WithTrackerName(const char* value) { SetTrackerName(value); return *this;}
155 
156   private:
157 
158     Aws::String m_consumerArn;
159     bool m_consumerArnHasBeenSet;
160 
161     Aws::String m_trackerName;
162     bool m_trackerNameHasBeenSet;
163   };
164 
165 } // namespace Model
166 } // namespace LocationService
167 } // namespace Aws
168