AWS SDK for C++

AWS SDK for C++ Version 1.11.791

Loading...
Searching...
No Matches
RouteAvoidanceOptions.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
10#include <aws/geo-routes/model/RouteAvoidanceArea.h>
11#include <aws/geo-routes/model/RouteAvoidanceZoneCategory.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace GeoRoutes {
23namespace Model {
24
36 public:
37 AWS_GEOROUTES_API RouteAvoidanceOptions() = default;
40 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
49 inline const Aws::Vector<RouteAvoidanceArea>& GetAreas() const { return m_areas; }
50 inline bool AreasHasBeenSet() const { return m_areasHasBeenSet; }
51 template <typename AreasT = Aws::Vector<RouteAvoidanceArea>>
52 void SetAreas(AreasT&& value) {
53 m_areasHasBeenSet = true;
54 m_areas = std::forward<AreasT>(value);
55 }
56 template <typename AreasT = Aws::Vector<RouteAvoidanceArea>>
58 SetAreas(std::forward<AreasT>(value));
59 return *this;
60 }
61 template <typename AreasT = RouteAvoidanceArea>
63 m_areasHasBeenSet = true;
64 m_areas.emplace_back(std::forward<AreasT>(value));
65 return *this;
66 }
68
70
76 inline bool GetCarShuttleTrains() const { return m_carShuttleTrains; }
77 inline bool CarShuttleTrainsHasBeenSet() const { return m_carShuttleTrainsHasBeenSet; }
78 inline void SetCarShuttleTrains(bool value) {
79 m_carShuttleTrainsHasBeenSet = true;
80 m_carShuttleTrains = value;
81 }
84 return *this;
85 }
87
89
92 inline bool GetControlledAccessHighways() const { return m_controlledAccessHighways; }
93 inline bool ControlledAccessHighwaysHasBeenSet() const { return m_controlledAccessHighwaysHasBeenSet; }
94 inline void SetControlledAccessHighways(bool value) {
95 m_controlledAccessHighwaysHasBeenSet = true;
96 m_controlledAccessHighways = value;
97 }
100 return *this;
101 }
103
105
111 inline bool GetDirtRoads() const { return m_dirtRoads; }
112 inline bool DirtRoadsHasBeenSet() const { return m_dirtRoadsHasBeenSet; }
113 inline void SetDirtRoads(bool value) {
114 m_dirtRoadsHasBeenSet = true;
115 m_dirtRoads = value;
116 }
118 SetDirtRoads(value);
119 return *this;
120 }
122
124
127 inline bool GetFerries() const { return m_ferries; }
128 inline bool FerriesHasBeenSet() const { return m_ferriesHasBeenSet; }
129 inline void SetFerries(bool value) {
130 m_ferriesHasBeenSet = true;
131 m_ferries = value;
132 }
133 inline RouteAvoidanceOptions& WithFerries(bool value) {
134 SetFerries(value);
135 return *this;
136 }
138
140
147 inline bool GetSeasonalClosure() const { return m_seasonalClosure; }
148 inline bool SeasonalClosureHasBeenSet() const { return m_seasonalClosureHasBeenSet; }
149 inline void SetSeasonalClosure(bool value) {
150 m_seasonalClosureHasBeenSet = true;
151 m_seasonalClosure = value;
152 }
154 SetSeasonalClosure(value);
155 return *this;
156 }
158
160
164 inline bool GetTollRoads() const { return m_tollRoads; }
165 inline bool TollRoadsHasBeenSet() const { return m_tollRoadsHasBeenSet; }
166 inline void SetTollRoads(bool value) {
167 m_tollRoadsHasBeenSet = true;
168 m_tollRoads = value;
169 }
171 SetTollRoads(value);
172 return *this;
173 }
175
177
184 inline bool GetTollTransponders() const { return m_tollTransponders; }
185 inline bool TollTranspondersHasBeenSet() const { return m_tollTranspondersHasBeenSet; }
186 inline void SetTollTransponders(bool value) {
187 m_tollTranspondersHasBeenSet = true;
188 m_tollTransponders = value;
189 }
191 SetTollTransponders(value);
192 return *this;
193 }
195
197
206 inline const Aws::Vector<Aws::String>& GetTruckRoadTypes() const { return m_truckRoadTypes; }
207 inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; }
208 template <typename TruckRoadTypesT = Aws::Vector<Aws::String>>
209 void SetTruckRoadTypes(TruckRoadTypesT&& value) {
210 m_truckRoadTypesHasBeenSet = true;
211 m_truckRoadTypes = std::forward<TruckRoadTypesT>(value);
212 }
213 template <typename TruckRoadTypesT = Aws::Vector<Aws::String>>
214 RouteAvoidanceOptions& WithTruckRoadTypes(TruckRoadTypesT&& value) {
215 SetTruckRoadTypes(std::forward<TruckRoadTypesT>(value));
216 return *this;
217 }
218 template <typename TruckRoadTypesT = Aws::String>
219 RouteAvoidanceOptions& AddTruckRoadTypes(TruckRoadTypesT&& value) {
220 m_truckRoadTypesHasBeenSet = true;
221 m_truckRoadTypes.emplace_back(std::forward<TruckRoadTypesT>(value));
222 return *this;
223 }
225
227
233 inline bool GetTunnels() const { return m_tunnels; }
234 inline bool TunnelsHasBeenSet() const { return m_tunnelsHasBeenSet; }
235 inline void SetTunnels(bool value) {
236 m_tunnelsHasBeenSet = true;
237 m_tunnels = value;
238 }
239 inline RouteAvoidanceOptions& WithTunnels(bool value) {
240 SetTunnels(value);
241 return *this;
242 }
244
246
252 inline bool GetUTurns() const { return m_uTurns; }
253 inline bool UTurnsHasBeenSet() const { return m_uTurnsHasBeenSet; }
254 inline void SetUTurns(bool value) {
255 m_uTurnsHasBeenSet = true;
256 m_uTurns = value;
257 }
258 inline RouteAvoidanceOptions& WithUTurns(bool value) {
259 SetUTurns(value);
260 return *this;
261 }
263
265
271 inline const Aws::Vector<RouteAvoidanceZoneCategory>& GetZoneCategories() const { return m_zoneCategories; }
272 inline bool ZoneCategoriesHasBeenSet() const { return m_zoneCategoriesHasBeenSet; }
273 template <typename ZoneCategoriesT = Aws::Vector<RouteAvoidanceZoneCategory>>
274 void SetZoneCategories(ZoneCategoriesT&& value) {
275 m_zoneCategoriesHasBeenSet = true;
276 m_zoneCategories = std::forward<ZoneCategoriesT>(value);
277 }
278 template <typename ZoneCategoriesT = Aws::Vector<RouteAvoidanceZoneCategory>>
279 RouteAvoidanceOptions& WithZoneCategories(ZoneCategoriesT&& value) {
280 SetZoneCategories(std::forward<ZoneCategoriesT>(value));
281 return *this;
282 }
283 template <typename ZoneCategoriesT = RouteAvoidanceZoneCategory>
284 RouteAvoidanceOptions& AddZoneCategories(ZoneCategoriesT&& value) {
285 m_zoneCategoriesHasBeenSet = true;
286 m_zoneCategories.emplace_back(std::forward<ZoneCategoriesT>(value));
287 return *this;
288 }
290 private:
292
293 bool m_carShuttleTrains{false};
294
295 bool m_controlledAccessHighways{false};
296
297 bool m_dirtRoads{false};
298
299 bool m_ferries{false};
300
301 bool m_seasonalClosure{false};
302
303 bool m_tollRoads{false};
304
305 bool m_tollTransponders{false};
306
307 Aws::Vector<Aws::String> m_truckRoadTypes;
308
309 bool m_tunnels{false};
310
311 bool m_uTurns{false};
312
314 bool m_areasHasBeenSet = false;
315 bool m_carShuttleTrainsHasBeenSet = false;
316 bool m_controlledAccessHighwaysHasBeenSet = false;
317 bool m_dirtRoadsHasBeenSet = false;
318 bool m_ferriesHasBeenSet = false;
319 bool m_seasonalClosureHasBeenSet = false;
320 bool m_tollRoadsHasBeenSet = false;
321 bool m_tollTranspondersHasBeenSet = false;
322 bool m_truckRoadTypesHasBeenSet = false;
323 bool m_tunnelsHasBeenSet = false;
324 bool m_uTurnsHasBeenSet = false;
325 bool m_zoneCategoriesHasBeenSet = false;
326};
327
328} // namespace Model
329} // namespace GeoRoutes
330} // namespace Aws
RouteAvoidanceOptions & AddZoneCategories(ZoneCategoriesT &&value)
RouteAvoidanceOptions & WithZoneCategories(ZoneCategoriesT &&value)
RouteAvoidanceOptions & WithControlledAccessHighways(bool value)
RouteAvoidanceOptions & WithTollRoads(bool value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_GEOROUTES_API RouteAvoidanceOptions & operator=(Aws::Utils::Json::JsonView jsonValue)
RouteAvoidanceOptions & WithTunnels(bool value)
RouteAvoidanceOptions & WithAreas(AreasT &&value)
AWS_GEOROUTES_API RouteAvoidanceOptions(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< RouteAvoidanceArea > & GetAreas() const
RouteAvoidanceOptions & WithTollTransponders(bool value)
RouteAvoidanceOptions & AddTruckRoadTypes(TruckRoadTypesT &&value)
AWS_GEOROUTES_API RouteAvoidanceOptions()=default
RouteAvoidanceOptions & WithDirtRoads(bool value)
RouteAvoidanceOptions & AddAreas(AreasT &&value)
RouteAvoidanceOptions & WithTruckRoadTypes(TruckRoadTypesT &&value)
RouteAvoidanceOptions & WithFerries(bool value)
RouteAvoidanceOptions & WithSeasonalClosure(bool value)
RouteAvoidanceOptions & WithCarShuttleTrains(bool value)
const Aws::Vector< RouteAvoidanceZoneCategory > & GetZoneCategories() const
RouteAvoidanceOptions & WithUTurns(bool value)
const Aws::Vector< Aws::String > & GetTruckRoadTypes() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue