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/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace Pinpoint
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Specifies geographic information about an endpoint.</p><p><h3>See Also:</h3>
28    * <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointLocation">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API EndpointLocation
33   {
34   public:
35     EndpointLocation();
36     EndpointLocation(Aws::Utils::Json::JsonView jsonValue);
37     EndpointLocation& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The name of the city where the endpoint is located.</p>
43      */
GetCity()44     inline const Aws::String& GetCity() const{ return m_city; }
45 
46     /**
47      * <p>The name of the city where the endpoint is located.</p>
48      */
CityHasBeenSet()49     inline bool CityHasBeenSet() const { return m_cityHasBeenSet; }
50 
51     /**
52      * <p>The name of the city where the endpoint is located.</p>
53      */
SetCity(const Aws::String & value)54     inline void SetCity(const Aws::String& value) { m_cityHasBeenSet = true; m_city = value; }
55 
56     /**
57      * <p>The name of the city where the endpoint is located.</p>
58      */
SetCity(Aws::String && value)59     inline void SetCity(Aws::String&& value) { m_cityHasBeenSet = true; m_city = std::move(value); }
60 
61     /**
62      * <p>The name of the city where the endpoint is located.</p>
63      */
SetCity(const char * value)64     inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); }
65 
66     /**
67      * <p>The name of the city where the endpoint is located.</p>
68      */
WithCity(const Aws::String & value)69     inline EndpointLocation& WithCity(const Aws::String& value) { SetCity(value); return *this;}
70 
71     /**
72      * <p>The name of the city where the endpoint is located.</p>
73      */
WithCity(Aws::String && value)74     inline EndpointLocation& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;}
75 
76     /**
77      * <p>The name of the city where the endpoint is located.</p>
78      */
WithCity(const char * value)79     inline EndpointLocation& WithCity(const char* value) { SetCity(value); return *this;}
80 
81 
82     /**
83      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
84      * region where the endpoint is located. For example, US for the United States.</p>
85      */
GetCountry()86     inline const Aws::String& GetCountry() const{ return m_country; }
87 
88     /**
89      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
90      * region where the endpoint is located. For example, US for the United States.</p>
91      */
CountryHasBeenSet()92     inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; }
93 
94     /**
95      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
96      * region where the endpoint is located. For example, US for the United States.</p>
97      */
SetCountry(const Aws::String & value)98     inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; }
99 
100     /**
101      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
102      * region where the endpoint is located. For example, US for the United States.</p>
103      */
SetCountry(Aws::String && value)104     inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); }
105 
106     /**
107      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
108      * region where the endpoint is located. For example, US for the United States.</p>
109      */
SetCountry(const char * value)110     inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); }
111 
112     /**
113      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
114      * region where the endpoint is located. For example, US for the United States.</p>
115      */
WithCountry(const Aws::String & value)116     inline EndpointLocation& WithCountry(const Aws::String& value) { SetCountry(value); return *this;}
117 
118     /**
119      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
120      * region where the endpoint is located. For example, US for the United States.</p>
121      */
WithCountry(Aws::String && value)122     inline EndpointLocation& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;}
123 
124     /**
125      * <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or
126      * region where the endpoint is located. For example, US for the United States.</p>
127      */
WithCountry(const char * value)128     inline EndpointLocation& WithCountry(const char* value) { SetCountry(value); return *this;}
129 
130 
131     /**
132      * <p>The latitude coordinate of the endpoint location, rounded to one decimal
133      * place.</p>
134      */
GetLatitude()135     inline double GetLatitude() const{ return m_latitude; }
136 
137     /**
138      * <p>The latitude coordinate of the endpoint location, rounded to one decimal
139      * place.</p>
140      */
LatitudeHasBeenSet()141     inline bool LatitudeHasBeenSet() const { return m_latitudeHasBeenSet; }
142 
143     /**
144      * <p>The latitude coordinate of the endpoint location, rounded to one decimal
145      * place.</p>
146      */
SetLatitude(double value)147     inline void SetLatitude(double value) { m_latitudeHasBeenSet = true; m_latitude = value; }
148 
149     /**
150      * <p>The latitude coordinate of the endpoint location, rounded to one decimal
151      * place.</p>
152      */
WithLatitude(double value)153     inline EndpointLocation& WithLatitude(double value) { SetLatitude(value); return *this;}
154 
155 
156     /**
157      * <p>The longitude coordinate of the endpoint location, rounded to one decimal
158      * place.</p>
159      */
GetLongitude()160     inline double GetLongitude() const{ return m_longitude; }
161 
162     /**
163      * <p>The longitude coordinate of the endpoint location, rounded to one decimal
164      * place.</p>
165      */
LongitudeHasBeenSet()166     inline bool LongitudeHasBeenSet() const { return m_longitudeHasBeenSet; }
167 
168     /**
169      * <p>The longitude coordinate of the endpoint location, rounded to one decimal
170      * place.</p>
171      */
SetLongitude(double value)172     inline void SetLongitude(double value) { m_longitudeHasBeenSet = true; m_longitude = value; }
173 
174     /**
175      * <p>The longitude coordinate of the endpoint location, rounded to one decimal
176      * place.</p>
177      */
WithLongitude(double value)178     inline EndpointLocation& WithLongitude(double value) { SetLongitude(value); return *this;}
179 
180 
181     /**
182      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
183      */
GetPostalCode()184     inline const Aws::String& GetPostalCode() const{ return m_postalCode; }
185 
186     /**
187      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
188      */
PostalCodeHasBeenSet()189     inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; }
190 
191     /**
192      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
193      */
SetPostalCode(const Aws::String & value)194     inline void SetPostalCode(const Aws::String& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; }
195 
196     /**
197      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
198      */
SetPostalCode(Aws::String && value)199     inline void SetPostalCode(Aws::String&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); }
200 
201     /**
202      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
203      */
SetPostalCode(const char * value)204     inline void SetPostalCode(const char* value) { m_postalCodeHasBeenSet = true; m_postalCode.assign(value); }
205 
206     /**
207      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
208      */
WithPostalCode(const Aws::String & value)209     inline EndpointLocation& WithPostalCode(const Aws::String& value) { SetPostalCode(value); return *this;}
210 
211     /**
212      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
213      */
WithPostalCode(Aws::String && value)214     inline EndpointLocation& WithPostalCode(Aws::String&& value) { SetPostalCode(std::move(value)); return *this;}
215 
216     /**
217      * <p>The postal or ZIP code for the area where the endpoint is located.</p>
218      */
WithPostalCode(const char * value)219     inline EndpointLocation& WithPostalCode(const char* value) { SetPostalCode(value); return *this;}
220 
221 
222     /**
223      * <p>The name of the region where the endpoint is located. For locations in the
224      * United States, this value is the name of a state.</p>
225      */
GetRegion()226     inline const Aws::String& GetRegion() const{ return m_region; }
227 
228     /**
229      * <p>The name of the region where the endpoint is located. For locations in the
230      * United States, this value is the name of a state.</p>
231      */
RegionHasBeenSet()232     inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
233 
234     /**
235      * <p>The name of the region where the endpoint is located. For locations in the
236      * United States, this value is the name of a state.</p>
237      */
SetRegion(const Aws::String & value)238     inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; }
239 
240     /**
241      * <p>The name of the region where the endpoint is located. For locations in the
242      * United States, this value is the name of a state.</p>
243      */
SetRegion(Aws::String && value)244     inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); }
245 
246     /**
247      * <p>The name of the region where the endpoint is located. For locations in the
248      * United States, this value is the name of a state.</p>
249      */
SetRegion(const char * value)250     inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); }
251 
252     /**
253      * <p>The name of the region where the endpoint is located. For locations in the
254      * United States, this value is the name of a state.</p>
255      */
WithRegion(const Aws::String & value)256     inline EndpointLocation& WithRegion(const Aws::String& value) { SetRegion(value); return *this;}
257 
258     /**
259      * <p>The name of the region where the endpoint is located. For locations in the
260      * United States, this value is the name of a state.</p>
261      */
WithRegion(Aws::String && value)262     inline EndpointLocation& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;}
263 
264     /**
265      * <p>The name of the region where the endpoint is located. For locations in the
266      * United States, this value is the name of a state.</p>
267      */
WithRegion(const char * value)268     inline EndpointLocation& WithRegion(const char* value) { SetRegion(value); return *this;}
269 
270   private:
271 
272     Aws::String m_city;
273     bool m_cityHasBeenSet;
274 
275     Aws::String m_country;
276     bool m_countryHasBeenSet;
277 
278     double m_latitude;
279     bool m_latitudeHasBeenSet;
280 
281     double m_longitude;
282     bool m_longitudeHasBeenSet;
283 
284     Aws::String m_postalCode;
285     bool m_postalCodeHasBeenSet;
286 
287     Aws::String m_region;
288     bool m_regionHasBeenSet;
289   };
290 
291 } // namespace Model
292 } // namespace Pinpoint
293 } // namespace Aws
294