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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/location/model/PricingPlan.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace LocationService
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Contains the geofence collection details.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollectionsResponseEntry">AWS
31    * API Reference</a></p>
32    */
33   class AWS_LOCATIONSERVICE_API ListGeofenceCollectionsResponseEntry
34   {
35   public:
36     ListGeofenceCollectionsResponseEntry();
37     ListGeofenceCollectionsResponseEntry(Aws::Utils::Json::JsonView jsonValue);
38     ListGeofenceCollectionsResponseEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the geofence collection.</p>
44      */
GetCollectionName()45     inline const Aws::String& GetCollectionName() const{ return m_collectionName; }
46 
47     /**
48      * <p>The name of the geofence collection.</p>
49      */
CollectionNameHasBeenSet()50     inline bool CollectionNameHasBeenSet() const { return m_collectionNameHasBeenSet; }
51 
52     /**
53      * <p>The name of the geofence collection.</p>
54      */
SetCollectionName(const Aws::String & value)55     inline void SetCollectionName(const Aws::String& value) { m_collectionNameHasBeenSet = true; m_collectionName = value; }
56 
57     /**
58      * <p>The name of the geofence collection.</p>
59      */
SetCollectionName(Aws::String && value)60     inline void SetCollectionName(Aws::String&& value) { m_collectionNameHasBeenSet = true; m_collectionName = std::move(value); }
61 
62     /**
63      * <p>The name of the geofence collection.</p>
64      */
SetCollectionName(const char * value)65     inline void SetCollectionName(const char* value) { m_collectionNameHasBeenSet = true; m_collectionName.assign(value); }
66 
67     /**
68      * <p>The name of the geofence collection.</p>
69      */
WithCollectionName(const Aws::String & value)70     inline ListGeofenceCollectionsResponseEntry& WithCollectionName(const Aws::String& value) { SetCollectionName(value); return *this;}
71 
72     /**
73      * <p>The name of the geofence collection.</p>
74      */
WithCollectionName(Aws::String && value)75     inline ListGeofenceCollectionsResponseEntry& WithCollectionName(Aws::String&& value) { SetCollectionName(std::move(value)); return *this;}
76 
77     /**
78      * <p>The name of the geofence collection.</p>
79      */
WithCollectionName(const char * value)80     inline ListGeofenceCollectionsResponseEntry& WithCollectionName(const char* value) { SetCollectionName(value); return *this;}
81 
82 
83     /**
84      * <p>The timestamp for when the geofence collection was created in <a
85      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
86      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
87      */
GetCreateTime()88     inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; }
89 
90     /**
91      * <p>The timestamp for when the geofence collection was created in <a
92      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
93      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
94      */
CreateTimeHasBeenSet()95     inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
96 
97     /**
98      * <p>The timestamp for when the geofence collection was created in <a
99      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
100      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
101      */
SetCreateTime(const Aws::Utils::DateTime & value)102     inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
103 
104     /**
105      * <p>The timestamp for when the geofence collection was created in <a
106      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
107      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
108      */
SetCreateTime(Aws::Utils::DateTime && value)109     inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); }
110 
111     /**
112      * <p>The timestamp for when the geofence collection was created in <a
113      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
114      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
115      */
WithCreateTime(const Aws::Utils::DateTime & value)116     inline ListGeofenceCollectionsResponseEntry& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;}
117 
118     /**
119      * <p>The timestamp for when the geofence collection was created in <a
120      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
121      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
122      */
WithCreateTime(Aws::Utils::DateTime && value)123     inline ListGeofenceCollectionsResponseEntry& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;}
124 
125 
126     /**
127      * <p>The description for the geofence collection</p>
128      */
GetDescription()129     inline const Aws::String& GetDescription() const{ return m_description; }
130 
131     /**
132      * <p>The description for the geofence collection</p>
133      */
DescriptionHasBeenSet()134     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
135 
136     /**
137      * <p>The description for the geofence collection</p>
138      */
SetDescription(const Aws::String & value)139     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
140 
141     /**
142      * <p>The description for the geofence collection</p>
143      */
SetDescription(Aws::String && value)144     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
145 
146     /**
147      * <p>The description for the geofence collection</p>
148      */
SetDescription(const char * value)149     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
150 
151     /**
152      * <p>The description for the geofence collection</p>
153      */
WithDescription(const Aws::String & value)154     inline ListGeofenceCollectionsResponseEntry& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
155 
156     /**
157      * <p>The description for the geofence collection</p>
158      */
WithDescription(Aws::String && value)159     inline ListGeofenceCollectionsResponseEntry& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
160 
161     /**
162      * <p>The description for the geofence collection</p>
163      */
WithDescription(const char * value)164     inline ListGeofenceCollectionsResponseEntry& WithDescription(const char* value) { SetDescription(value); return *this;}
165 
166 
167     /**
168      * <p>The pricing plan for the specified geofence collection.</p> <p>For additional
169      * details and restrictions on each pricing plan option, see the <a
170      * href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing
171      * page</a>.</p>
172      */
GetPricingPlan()173     inline const PricingPlan& GetPricingPlan() const{ return m_pricingPlan; }
174 
175     /**
176      * <p>The pricing plan for the specified geofence collection.</p> <p>For additional
177      * details and restrictions on each pricing plan option, see the <a
178      * href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing
179      * page</a>.</p>
180      */
PricingPlanHasBeenSet()181     inline bool PricingPlanHasBeenSet() const { return m_pricingPlanHasBeenSet; }
182 
183     /**
184      * <p>The pricing plan for the specified geofence collection.</p> <p>For additional
185      * details and restrictions on each pricing plan option, see the <a
186      * href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing
187      * page</a>.</p>
188      */
SetPricingPlan(const PricingPlan & value)189     inline void SetPricingPlan(const PricingPlan& value) { m_pricingPlanHasBeenSet = true; m_pricingPlan = value; }
190 
191     /**
192      * <p>The pricing plan for the specified geofence collection.</p> <p>For additional
193      * details and restrictions on each pricing plan option, see the <a
194      * href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing
195      * page</a>.</p>
196      */
SetPricingPlan(PricingPlan && value)197     inline void SetPricingPlan(PricingPlan&& value) { m_pricingPlanHasBeenSet = true; m_pricingPlan = std::move(value); }
198 
199     /**
200      * <p>The pricing plan for the specified geofence collection.</p> <p>For additional
201      * details and restrictions on each pricing plan option, see the <a
202      * href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing
203      * page</a>.</p>
204      */
WithPricingPlan(const PricingPlan & value)205     inline ListGeofenceCollectionsResponseEntry& WithPricingPlan(const PricingPlan& value) { SetPricingPlan(value); return *this;}
206 
207     /**
208      * <p>The pricing plan for the specified geofence collection.</p> <p>For additional
209      * details and restrictions on each pricing plan option, see the <a
210      * href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing
211      * page</a>.</p>
212      */
WithPricingPlan(PricingPlan && value)213     inline ListGeofenceCollectionsResponseEntry& WithPricingPlan(PricingPlan&& value) { SetPricingPlan(std::move(value)); return *this;}
214 
215 
216     /**
217      * <p>The specified data provider for the geofence collection.</p>
218      */
GetPricingPlanDataSource()219     inline const Aws::String& GetPricingPlanDataSource() const{ return m_pricingPlanDataSource; }
220 
221     /**
222      * <p>The specified data provider for the geofence collection.</p>
223      */
PricingPlanDataSourceHasBeenSet()224     inline bool PricingPlanDataSourceHasBeenSet() const { return m_pricingPlanDataSourceHasBeenSet; }
225 
226     /**
227      * <p>The specified data provider for the geofence collection.</p>
228      */
SetPricingPlanDataSource(const Aws::String & value)229     inline void SetPricingPlanDataSource(const Aws::String& value) { m_pricingPlanDataSourceHasBeenSet = true; m_pricingPlanDataSource = value; }
230 
231     /**
232      * <p>The specified data provider for the geofence collection.</p>
233      */
SetPricingPlanDataSource(Aws::String && value)234     inline void SetPricingPlanDataSource(Aws::String&& value) { m_pricingPlanDataSourceHasBeenSet = true; m_pricingPlanDataSource = std::move(value); }
235 
236     /**
237      * <p>The specified data provider for the geofence collection.</p>
238      */
SetPricingPlanDataSource(const char * value)239     inline void SetPricingPlanDataSource(const char* value) { m_pricingPlanDataSourceHasBeenSet = true; m_pricingPlanDataSource.assign(value); }
240 
241     /**
242      * <p>The specified data provider for the geofence collection.</p>
243      */
WithPricingPlanDataSource(const Aws::String & value)244     inline ListGeofenceCollectionsResponseEntry& WithPricingPlanDataSource(const Aws::String& value) { SetPricingPlanDataSource(value); return *this;}
245 
246     /**
247      * <p>The specified data provider for the geofence collection.</p>
248      */
WithPricingPlanDataSource(Aws::String && value)249     inline ListGeofenceCollectionsResponseEntry& WithPricingPlanDataSource(Aws::String&& value) { SetPricingPlanDataSource(std::move(value)); return *this;}
250 
251     /**
252      * <p>The specified data provider for the geofence collection.</p>
253      */
WithPricingPlanDataSource(const char * value)254     inline ListGeofenceCollectionsResponseEntry& WithPricingPlanDataSource(const char* value) { SetPricingPlanDataSource(value); return *this;}
255 
256 
257     /**
258      * <p>Specifies a timestamp for when the resource was last updated in <a
259      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
260      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
261      */
GetUpdateTime()262     inline const Aws::Utils::DateTime& GetUpdateTime() const{ return m_updateTime; }
263 
264     /**
265      * <p>Specifies a timestamp for when the resource was last updated in <a
266      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
267      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
268      */
UpdateTimeHasBeenSet()269     inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; }
270 
271     /**
272      * <p>Specifies a timestamp for when the resource was last updated in <a
273      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
274      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
275      */
SetUpdateTime(const Aws::Utils::DateTime & value)276     inline void SetUpdateTime(const Aws::Utils::DateTime& value) { m_updateTimeHasBeenSet = true; m_updateTime = value; }
277 
278     /**
279      * <p>Specifies a timestamp for when the resource was last updated in <a
280      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
281      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
282      */
SetUpdateTime(Aws::Utils::DateTime && value)283     inline void SetUpdateTime(Aws::Utils::DateTime&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::move(value); }
284 
285     /**
286      * <p>Specifies a timestamp for when the resource was last updated in <a
287      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
288      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
289      */
WithUpdateTime(const Aws::Utils::DateTime & value)290     inline ListGeofenceCollectionsResponseEntry& WithUpdateTime(const Aws::Utils::DateTime& value) { SetUpdateTime(value); return *this;}
291 
292     /**
293      * <p>Specifies a timestamp for when the resource was last updated in <a
294      * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a>
295      * format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code> </p>
296      */
WithUpdateTime(Aws::Utils::DateTime && value)297     inline ListGeofenceCollectionsResponseEntry& WithUpdateTime(Aws::Utils::DateTime&& value) { SetUpdateTime(std::move(value)); return *this;}
298 
299   private:
300 
301     Aws::String m_collectionName;
302     bool m_collectionNameHasBeenSet;
303 
304     Aws::Utils::DateTime m_createTime;
305     bool m_createTimeHasBeenSet;
306 
307     Aws::String m_description;
308     bool m_descriptionHasBeenSet;
309 
310     PricingPlan m_pricingPlan;
311     bool m_pricingPlanHasBeenSet;
312 
313     Aws::String m_pricingPlanDataSource;
314     bool m_pricingPlanDataSourceHasBeenSet;
315 
316     Aws::Utils::DateTime m_updateTime;
317     bool m_updateTimeHasBeenSet;
318   };
319 
320 } // namespace Model
321 } // namespace LocationService
322 } // namespace Aws
323